crontab -e 40 23 * * * sh /tbin/logclear.sh 1>> /tmp/a.log 2>>/tmp/a.log
1>> /tmp/a.log
: 將標準輸出(即正常情況下的輸出資訊)追加到檔案/tmp/a.log
中。2>> /tmp/a.log
: 將標準錯誤輸出(即錯誤資訊)也追加到檔案/tmp/a.log
中。
在 Unix 系統中,檔案描述符用於表示檔案、裝置等輸入輸出資源。每個程序預設會開啟三個檔案描述符:
- 標準輸入(stdin): 檔案描述符為
0
,用於接收輸入資料。 - 標準輸出(stdout): 檔案描述符為
1
,用於輸出正常資訊。 - 標準錯誤輸出(stderr): 檔案描述符為
2
,用於輸出錯誤資訊。
在提到的 crontab
配置中:
1>> /tmp/a.log
:1
表示標準輸出(stdout),>>
表示追加(append)模式。這行的意思是將標準輸出的資料追加到/tmp/a.log
檔案中。2>> /tmp/a.log
:2
表示標準錯誤輸出(stderr),>>
同樣表示追加模式。這行的意思是將標準錯誤輸出的資料追加到/tmp/a.log
檔案中。
透過這種方式,無論指令碼執行過程中產生的是正常資訊還是錯誤資訊,都會被記錄到同一個日誌檔案中。