1. 程式人生 > >Linux 下Crontab 裡的命令無法執行的問題

Linux 下Crontab 裡的命令無法執行的問題

自己對linux的熟悉程度也只是屬於入門級的小白,但今天居然也能幫師兄解決了一下這個小問題還是覺得很開心。我也知道入門不容易,所以一點點的經驗希望夠幫到需要的同學。

crontab 命令使用方式和linux的sh指令碼編寫程式碼,普通的任務百度一下很快就能夠將程式寫出來了,基本上這些程式都不會有問題的。

下面是幾個需要注意的地方

1、linux檔案的許可權問題,這是比較複雜的問題,包括你呼叫的sh檔案的許可權和輸出的log檔案的許可權等,這是保證檔案能夠被訪問的第一步,一般比較安全的檔案我都是設定777

(也是覺得麻煩,但是這個許可權真的很重要,重要,重要的,重要的事情強調三遍)。

 2、是dos下編寫的sh在linux可能因為格式的問題無法使用,比如我就比較喜歡用notepad++ 編寫好指令碼再上傳到伺服器上。用vim 開啟這個檔案執行:set ff? 就可以看到檔案的格式,如果是dos的字樣,那麼使用set ff=unix 就可以把它強制轉換為unix格式。(一開始使用vim編寫可以很好的避免這個問題)。      

3、linux因為很多東西都不是視覺化的,所以遇到問題的時候可以儘量將每個步驟的結果輸出來看看。 具體為 command >>/data/log.out/ 2>&1 &

4、一般都是希望定時或者重複的呼叫某些程式,這裡可能還會涉及到呼叫程式的時候執行程式的環境問題。比如我之前寫的簡單的python 程式,還有php程式,使用sh去呼叫這些程式的時候會因為執行時候的環境變數不同導致程式執行失敗(之前的一篇文章裡面有提到php呼叫後臺python程式的問題)

以上是我自己在使用crontab 時候的一點經驗,自覺沒有精妙的內容,但是還是希望能節省大家的時間,對大家有所幫助