Проблема
Требуется автоматизировать процесс архивации rsync на базе ssh.
Решение
Напишите сценарий, создайте задание сгоn и настройте keychain для аутентификации на удаленных хостах. Далее приводится простой сценарий для архивации /home и /etc пользователем backupadmin, созданным специально для этой цели. Вторая строка сценария приказывает cron использовать keychain для удаленной аутентификации: !/bin/bash
source /home/backupadm1n/.keycha1n/$H0STNAHE -sh
rsync -av -e ssh --delete --force /home /etc stinkpad:home-etc-backup
После того как вы настроите выбор файлов и протестируете сценарий, создайте задание cron для запуска сценария. В следующем примере задание стартует каждый вечер в 22:00: # crontab -е
О 22 * * * /usr/local/bin/rsyncbackup.sh
Комментарий
В документации часто предлагается создавать ключи с пустыми паролями, чтобы пересылку ssh можно было планировать в cron. Это делать опасно, потому что каждый, кто получит доступ к вашему приватному ключу, сможет воспользоваться им в своих целях. Keychain выполняет аутентификацию за вас, чтобы вы могли защитить свои приватные ключи паролем. У keychain есть только один недостаток: программа не переживает перезагрузку, поэтому пароль (или пароли) приходится вводить заново при запуске системы. Но в конце концов, это повышает уровень безопасности — ведь вы же не хотите, чтобы после перезагрузки компьютера любой желающий получил беспрепятственный доступ к вашим удаленным хостам.
Страница Examples на сайте http://samba.anu.edu.au/rsync.