На этот вопрос уже есть ответ здесь:
Привет, есть куча видео и ресурсов о том, как rsync локально rsync / home / user1 / home / user2 / backup
, но я не нашел никаких руководств по rsync crontab на другой сервер
в значительной степени, я использую crontab -e
и у меня есть скрипт, который я запускаю из rsynch.sh
#!/bin/bash
rsync -xza /home/willchap willchap@server02:/home/willchap/backup
, он будет нормально работать без crontab, проблема в том, что я предполагаю, что crontab не работает, потому что он запрашивает пароль
какие здесь мои варианты?
Наилучший вариант, если Вы можете, состоит в том, чтобы настроить основанную на ключе аутентификацию SSH на удаленном сервере и использовать ключ без пароля на клиенте. Это позволит соединение SSH, которое rsync использует при использовании того [user@]server:path
нотация, для случая, не запрашивая пароль.
документация Ubuntu для того, чтобы сделать это в:
https://help.ubuntu.com/community/SSH/OpenSSH/Keys#Key-Based_SSH_Logins
, Однажды настроенный, попробуйте к SSH к удаленному серверу от и до тех же учетных записей, которые rsync использовал бы, и видеть, просит ли это пароль. Если это не делает, это настраивается правильно.
на самом деле да это возможно.
делают Ваш нормальный rsyncscript.sh, необходимо будет генерировать ключи с помощью ssh-keygen
команды в корневом каталоге, перейдите к .ssh/id_rsa.pub и копии это в другие серверы/authorized_keys файл