Копирование файлов на удаленный сервер и обратно

Лучше всего с этой задачей справляется программа rsync (remote synchronization). Она эффективно синхронизирует любые объёмы файлов и каталогов. Её удобно настроить для автоматизированной работы. Программа никогда меня не подводила.

Для передачи файлов я использую ssh и ключ для авторизации, чтобы обходиться без паролей.

Передача файла и каталога на удалённый сервер:

/usr/bin/rsync -Pav -e "ssh -i /home/kornev/.ssh/файл_ключа" /каталог/файл_для_передачи root@ip_сервера:"/каталог/на/сервере"
/usr/bin/rsync -Pav -e "ssh -i /home/kornev/.ssh/файл_ключа" /каталог/для/передачи root@ip_сервера:"/каталог/на/сервере"

Файл и каталог будут помещены в указанный каталог.

Тоже самое в обратном направлении:

/usr/bin/rsync -Pav -e "ssh -i /home/kornev/.ssh/файл_ключа" root@ip_сервера:"/каталог/файл_на_сервере" /каталог/локальный
/usr/bin/rsync -Pav -e "ssh -i /home/kornev/.ssh/файл_ключа" root@ip_сервера:"/каталог/на/сервере" /каталог/локальный

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

d1
d1mon
  • 12 сентября, 13:43
  • Linux

Комментарии