2013-07-14 1 views
1

Вот вещьдегтя папка на несколько файлы по SSH

У меня есть сервер с общим дисковым пространством 85 ГБ и теперь у меня есть папка с размером 50 Гб, который, содержащим более 60000 файлов.

Теперь я хочу загрузить эти файлы на своем локальном хосте, и для этого мне нужно смонтировать папку, но я не могу удалить всю папку из-за ограниченности дискового пространства.

Итак, я ищу способ архивирования папки в два файла с tar-файлом размером 25 ГБ, например part1.tar и part2.tar, но когда первая часть будет выполнена, он должен ждать, чтобы спросить что-то вроде следующего названия части или разрешения или все, чтобы я мог перенести первую часть на другой сервер, а затем продолжить архивирование в part2. Или способ смонтировать половину папки, как первые 30000 файлов, а затем tar остальные.

Любая идея? Заранее спасибо

+0

Может быть, попробовать Rsync. Я не уверен, что это то, что вы ищете. –

ответ

0

решения RSync было достаточно хорошо, но я нашел решение главного вопроса:

tar -c -M --tape-length=30000000 --file=filename.tar foldername 

После достижения 29GB вам нужно будет изменить (в моем случае передача первой части и ее удаление) и нажмите enter для продолжения. Кроме того, можно указать название следующей части:

Prepare volume #2 for `filename.tar' and hit return: 

n filename2.tar 

Потому что он собирается занять некоторое время я предлагаю с помощью сеанса экрана через SSH: http://thelinuxnoob.com/linux/screen-in-ssh/

2

Одним из первых приложений rsync было реализовать зеркалирование или резервное копирование для нескольких клиентов Unix на центральный Unix-сервер с использованием rsync/ssh и стандартных учетных записей Unix.

Я использую rsync для перемещения сжатых (и несжатых) файлов между серверами.

Я думаю, что команда должна быть что-то вроде этого

rsync -av host::src /dest 
+0

Я использую rsync для переноса между двумя серверами, но есть ли какие-либо файлы для фильтрации в rsync? например, просто перенесите некоторые файлы, например, первые 30000 из них? поскольку я сказал, что у меня ограниченное дисковое пространство на обоих серверах. Другой вариант - это scp, но мне нужен этот способ, чтобы просто выбрать некоторые файлы, и на следующем шаге выберите остальные. Нет никакой разницы, если я использую tar или отправляю их с помощью rsync или scp или в любом случае – codedme

+1

Согласно man-странице '-f, --filter = RULE добавить файловую фильтрацию RULE' –

+0

Существует также эта опция. '-F такой же как -filter = 'dir-merge /.rsync-filter' repeat: -filter = '- .rsync-filter' --exclude = PATTERN исключить файлы, соответствующие PATTERN --exclude-from = FILE читать исключить шаблоны из FILE --include = PATTERN не исключать файлы, соответствующие PATTERN --include-from = FILE читать шаблоны из ФАЙЛА --files-from = FILE читать список имен исходных файлов из FILE' –