Ssh

在 cron 作業中通過安全 ssh 使用 rsync

  • August 28, 2012

我正在嘗試在 Debian GNU/Linux 下設置一個 shell 腳本,以將目錄和子目錄備份到通過 SSH 執行 Linux 的遠端 NAS。此連接必須加密。

我嘗試了幾種不同的方法,涉及rsync rsh等,但沒有運氣。我知道如何設置crontab,但我需要一個無人看管的腳本(即,它不會要求輸入密碼)

有人可以幫我嗎?

編輯:我現在可以在沒有密碼的情況下成功登錄。

現在的問題是讓 rsync 將文件複製/backups/[remote system]:/backups/

它只會將一個文件夾從 複製/backups/[remote system]:/backups/

編輯:似乎本地系統有一個 /backups 和一個 /backup …我應該使用 /backup 時嘗試過使用 /backups …

最終命令:rsync -avzr -e ssh /backup/ admin@[IP]:/backups/

rsync 自 2.6.x 起預設使用 ssh 進行傳輸。因此,只要支持您的遠端 NAS rsync,它就已經處理好了。

至於密碼較少的無人值守傳輸,請為您執行 cron 的使用者設置基於 ssh 密鑰的身份驗證,並且應該這樣做。以下是您的設置方式——http: //www.cyberciti.biz/tips/ssh-public-key-based-authentication-how-to.html

您還可以將此標誌傳遞給 rsync 以使用文件作為密碼:

–密碼文件

可以輕鬆地將文件 chmod 為 400,因此除了您的使用者之外沒有人可以讀取該文件(當然還有 root)

引用自:https://serverfault.com/questions/420923