Назад | Перейти на главную страницу

предложения по написанию сценария перемещения большого количества файлов с одного хоста Linux на другой

У меня есть несколько ТБ и много тысяч файлов, которые мне нужно переместить по сети с одного хоста Linux на другой. Я хотел бы получить предложения о том, как это сделать, учитывая следующие моменты:

xargs и Rsync были бы хороши, за исключением того, что они, похоже, не предоставляют возможности «удалить» исходный файл после того, как он был успешно скопирован.

Rsync имеет возможность удаления исходных файлов. В сочетании с - флаг контрольной суммы он должен быть достаточно надежным для такого рода операций.

Однако вы можете использовать git-приложение для миграции (для фактических переводов он будет использовать rsync под капотом).

На хосте A:

mkdir annex
git init
git annex init "host A"

На хосте B:

git clone ssh://A/path/to/annex annex
git annex init "host B"
git annex sync

Еще раз на хосте A:

git remote add b ssh://B/path/to/annex

Добавьте файлы в git-application на хосте A, скопировав их в папку приложения:

git annex add .
git commit . -m "Added files"
find /path/to/files* -mtime +5 -exec git annex move {} --to b\;
git-annex sync

Увидеть Подробное руководство по использованию git-Annex.