2012-02-11 121 views
2

我有一個shell腳本,它會定期檢查ADSL外部IP地址,並在發送郵件時將其發送給我。Cron作業與獨立作業不同

​​

當我從命令行運行它時,此功能完美無缺。但是在我把它放入cron之後,NEWIP和OLDIP總是一樣的。我不知道爲什麼,有人可以幫忙嗎?

回答

2

什麼是./current

您沒有在腳本中使用絕對路徑,因此文件將在任何地方運行。你應該使用絕對路徑。

cron和命令行運行之間唯一的其他重要區別是腳本在其帳戶下執行的用戶。確保帳戶(如果它不是root)有顯著的權限做你要求它做什麼。

或者更好的是,使用已建立的動態DNS客戶端,因此您不必關心外部主機名。你確實意識到你依靠這個網站是誠實的,對嗎?

+0

互動和cron之間的差別比你更大的主張,並在多個常見問題記錄。 – tripleee 2012-02-11 09:53:58

+0

是的,我知道。這只是讓我們繼續前進的臨時解決方案。謝謝。 – eric 2012-02-11 14:31:15

+0

有免費的DDNS方式嗎?看起來所有DDNS服務提供商至少每年收取20美元。 – eric 2012-02-11 15:16:48

2

在腳本開始時,您應該將目錄更改爲正確的(作爲猜測)。或者使用絕對路徑。