Портал > База знаний > Администрирование Linux > Копирование файлов с помощью rsync через SSH
Rsync – утилита для синхронизации файлов или директорий.
Прежде чем перейти к примерам копирования установим rsync.
Для установки rsync в CentOS используем команду:
sudo yum install rsync
В Debian и Ubuntu:
sudo apt-get install rsync
Копируем файлы локально
Чтобы скопировать содержимое /source/ в /destination/ внутри одного сервера, выполните:
rsync --archive --verbose --progress /source/ /destination/
(пример: rsync -avh /root/dir1 /root/dir2)
Копируем файлы с удаленного сервера на локальную машину
rsync --archive --verbose --progress user@remotehost:/remote/source/ /local/destination/
(Пример: # rsync -zavP root@123.123.123.123:/home/file1 /var)
Копируем файлы на удаленный сервер
Чтобы скопировать файлы на удаленный сервер, указываем путь к локальной директории и путь к директории на удаленном сервере, а также имя пользователя и хост:
rsync --archive --verbose --progress /local/source/ user@remotehost:/remote/destination/
(пример: rsync -avzhe /var/www/html/file1.tar root@123.123.123.123:/home
Если на удаленном сервере ssh работает на нестандартном порту, например, 1234, то использовать rsync можно следующим образом:
rsync -avz --bwlimit=500 -e "ssh -p 1234" /local_folder/user@host:/remote_folder/
Номер порта на удаленном сервере передается через параметр -e
—bwlimit — ограничение скорости KBytes/сек
Важно знать:
-a, --archive - режим архива, аналогично-rlptgoD (без -H)
-r, --recursive - рекурсивно - обходить директории
-R, --relative - относительные пути
-H, --hard-links - сохранять жесткие ссылки
-x, --one-file-system - не пересекать границы файловой системы-z, --включение режим сжатия;
-P, --отображение прогресса при копировании;
user@remotehost - имя пользователя и удаленного хоста к которому нужно подключиться
(!)
Если в конце /source/ есть слэш, rsync скопирует содержимое /source/ в /destination/. Но если слэша в /source не будет, то rsync создаст директорию dir внутри /destination/ и скопирует все содержимое /source/ в /destination/source/. При этом, наличие или отсутствие закрывающего слэша в имени директории, куда будет происходить копирование, значения не имеет.
Добавить в избранное Распечатать статью
Powered by WHMCompleteSolution