Linux - примеры использования rsync

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
Версия от 16:49, 12 сентября 2019; Admin iph (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск


Linux - примеры использования rsync

Перекачиваем файлы по ssh в директорию /this/dir/:

# rsync -avz -e ssh remoteuser@remotehost:/remote/dir/* /this/dir/ 
-a - тоже самое что ключи -rlptgoD - копирование всего
-v - включить вывод
-z - включить режим сжатия


Как перекачать файлы через rsync если порт не 22, а например 3333:

 # rsync -avz -e 'ssh -p 3333' remoteuser@remotehost:/remote/dir/* /this/dir/ 
либо же создаем файл ~/.ssh/config с содержимым:
# cat ~/.ssh/config
Host xxx.xxx.xxx.xxx
   Port 3333
и перекачиваем стандартной командой:
 # rsync -avz -e ssh remoteuser@remotehost:/remote/dir/* /this/dir/ 


Тоже самое только с локальной машины на удаленную:

# rsync -avz /this/dir/  -e ssh root@hostname:/home/admin/

rsync and ssh key (как перекачать файлы если используется приватный ключ ssh):

 # rsync -avz -e "ssh -i /path/to/private_key" remoteuser@remotehost:/remote/dir/* /this/dir/


Как скопировать файлы с точкой (.htaccess) через rsync:

# rsync -avz /this/dir/.[^.]* /new/dir/


Как исключить директорию из копирования (в примере диреректория /remote/dir/video):

 # rsync -avz -e ssh remoteuser@remotehost:/remote/dir/* /this/dir/ --exclude 'video'

Если нужно исключить несколько файлов и директорий, просто добавляем несколько раз --exclude:

# rsync -a --exclude 'file1.txt' --exclude 'dir1/*' --exclude 'dir2' src_directory/ dst_directory/

либо через файл:

 # rsync -a --exclude-from="exclude.txt" src_directory/ dst_directory/