Ssh
在 cron 作業中通過安全 ssh 使用 rsync
我正在嘗試在 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)