У меня около 6 ТБ файлов, которые мне нужно переместить с одного сервера на другой. Я приложил все усилия, чтобы переместить его по FTP, как показано ниже, но соединение часто умирает, и после определенного прогресса оно отключается до того, как даже возобновит перемещение файлов, из которого, как я полагаю, уходит слишком много времени на сравнение файлов до фактической передачи, а затем по времени вне.
~/ncftp-3.2.3/bin/ncftpput -R -z -v -u "user" -p "password" upload.server.net /local/dir/ remote/dir/
Я пытаюсь заставить удаленный сервер предоставить мне доступ по SSH, чтобы я мог настроить rsync, но есть ли что-нибудь более стабильное, что я могу сделать по ftp, поэтому, возможно, он попытается самостоятельно возобновить работу без повторного сравнения всего списки файлов?
Если ваш единственный доступ осуществляется через FTP, вы можете изучить lftp (должно быть в большинстве дистрибутивов).
lftp поддерживает автоматические повторные попытки при сбое, а также имеет параметр зеркалирования, который, похоже, соответствует тому, что вы хотите сделать.
я бы использовал rsync. если соединение разрывается, он сравнивает источник и место назначения и синхронизируется с того места, где он оставался (при условии, что большое количество файлов малого и среднего размера, а не 2 x 3 ТБ :)).
в качестве альтернативы запустите apache и сделайте корневой каталог файлов и выполните рекурсивный wget, также может работать, вам просто нужно указать ему игнорировать файлы, которые уже существуют локально.
Вы не говорите, каковы границы этого проекта. Я сам в своей ситуации сделал бы это, создав резервную копию данных из источника и восстановив их в место назначения с помощью своего программного обеспечения для резервного копирования.
Если вы не можете делать такие вещи, то почему бы не попробовать перемещать данные «партиями», если это возможно, если данные разделены на несколько файлов или каталогов?