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


Материал из Wiki - Iphoster - 'the best ever hosting and support

(Различия между версиями)
Перейти к: навигация, поиск
 
Строка 1: Строка 1:
 
[[Файл:Hot11.png|link=https://iphoster.net/pl.php?34838| Самые выгодные сервера‎ ]]
 
  
  
Строка 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/

Текущая версия на 19: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/
Индекс цитирования