我目前正在清理CentOS 6服務器上其他人留下的混亂。有一個應用程序需要每6小時備份到一個github帳戶。有一個腳本負責準備數據,它負責管理git add和git commit。git push不能在cron作業內工作
git push由「expect」腳本處理。這樣做是爲了在ssh請求時將密碼傳遞給git push。用戶不想使用空密碼。
腳本在root用戶的bash shell命令行中運行時運行良好。我可以看到文件傳輸到github。
當腳本在由root創建的crontab下運行時,腳本似乎運行,但git push不會發生。如果我手動運行git push,腳本失敗後,我注意到應該發生的推送發生在我從命令行調用的手動推送。看起來應該在腳本中發生的推送已被緩存,而不是推送給github。
任何人都可以建議我在這裏失蹤?是否有可能在這樣的腳本中使用git push?
問候
理查德
當你手動執行命令時,你是否以root身份運行它?不是sudo? – Lynch
命令在cron下失敗的常見原因是它取決於在.profile中設置的環境變量,因爲它不是由cron作業運行的。 – Barmar
當我手動運行命令時,我以根用戶身份運行它 –