Прямое копирование с Linux на Linux

Столкнулся с проблемой при переезде с VDS на VDS. Как известно, в Linux файлы в одной директории могут называться одинаково, если у них разный регистр. A.jpg и a.jpg просто будут считаться разными файлами. Естественно, если вы делаете бэкап сайта путём копирования с Linux на Windows, то такие файлы перезапишутся. Как же переехать с Linux на Linux, не имея компа с Linux под рукой, который служил бы буфером обмена? Поможет утилита rsync:

rsync -rpvt user@old_server_address:/path/ /path_on_new_server

Запускать её нужно на VDS, куда вы хотите перенести файлы. Если во время выполнения команды, вы получаете ошибку Write failed: Broken pipe, значит происходит тайм-аут соединения по SSH. Можно расширить этот лимит в конфиге, но проще выполнить команду несколько раз с ключом --ignore-existing. Этот ключ говорит о том, что утилита не будет качать файлы, которые уже есть в конечной директории.

rsync -rpvt user@old_server_address:/path/ /path_on_new_server --ignore-existing

Затем можно скопировать скаченные файлы в какую-то другую директорию на сервере. В данном примере файлы копируются с перезаписью, а утилита yes нужна чтобы нас не спрашивало каждый раз о перезаписи файла.

yes | cp -rf /from_folder/* /to_folder