Linux - примеры использования rsync: различия между версиями
Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
Admin iph (обсуждение | вклад) |
Admin iph (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | |||
− | |||
Строка 37: | Строка 35: | ||
Как исключить директорию из копирования (в примере диреректория /remote/dir/video): | Как исключить директорию из копирования (в примере диреректория /remote/dir/video): | ||
# rsync -avz -e ssh remoteuser@remotehost:/remote/dir/* /this/dir/ --exclude '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/ |
Текущая версия на 16:49, 12 сентября 2019
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/