16.9. Автоматизация архивации rsync на базе ssh

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