0
我有一個用於存儲所有配置(例如.ssh/config)的存儲庫。不時,我需要一個備份他們,所以我需要運行這些命令使用git作爲cron和ssh別名的備份工具
git commit -am 'Auto git backup `date -I`'
git push origin master
據煩了,所以我決定做一個cron作業,運行上面這幾行簡單的腳本。我運行了crontab -e
並在文件末尾添加了新行。我還在腳本內部用which git
替換了git
。 git commit
命令與git push
完美對比。當我做了一些調試打印我得到
ssh: Could not resolve hostname bitbucket.org: Name or service not known
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
但是,當我手動運行腳本,它的工作原理。我想這是因爲SSH的別名,我.ssh/config
,它看起來像
Host bitbucket.org-personal
HostName bitbucket.org
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Host bitbucket.org-work
HostName bitbucket.org
PreferredAuthentications publickey
IdentityFile ~/.ssh/another_id_rsa
是否有人有想法,如何傳播SSH別名環境,運行cron作業?也許我錯了,問題是由別的東西造成的。
你錯過了你寫入crontab的行的樣子。你確定網絡啓動時備份是否運行? – Jakuje
crontab中的行是'@reboot/home/user/scripts/backup-and-commit.sh',我添加了一些調試消息,並且我確定cron作業正常工作。你認爲它不會因網絡問題而提交提交? – 32cupo
是的。錯誤很明顯,你沒有網絡。嘗試推遲運行幾分鐘以等待網絡。 – Jakuje