2017-08-12 59 views
0

我有一個用於存儲所有配置(例如.ssh/config)的存儲庫。不時,我需要一個備份他們,所以我需要運行這些命令使用git作爲cron和ssh別名的備份工具

git commit -am 'Auto git backup `date -I`' 
git push origin master 

據煩了,所以我決定做一個cron作業,運行上面這幾行簡單的腳本。我運行了crontab -e並在文件末尾添加了新行。我還在腳本內部用which git替換了gitgit 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作業?也許我錯了,問題是由別的東西造成的。

+1

你錯過了你寫入crontab的行的樣子。你確定網絡啓動時備份是否運行? – Jakuje

+0

crontab中的行是'@reboot/home/user/scripts/backup-and-commit.sh',我添加了一些調試消息,並且我確定cron作業正常工作。你認爲它不會因網絡問題而提交提交? – 32cupo

+1

是的。錯誤很明顯,你沒有網絡。嘗試推遲運行幾分鐘以等待網絡。 – Jakuje

回答