crontab 重定向錯誤日誌 加上時間

2021-08-03 09:58:53 字數 911 閱讀 7609

在開發中,我們避免不了寫crontab指令碼來非同步執行一些東西,一般設定crontab用下面的方法

[plain]view plain

copy

print?

*/1 * * * * commond > /tmp/t.log 2>&1  

後面的 2>&1 代表把標準錯誤輸出指向標準輸出,意思是當commond異常退出時,把異常退出時的日誌也寫到 /tmp/t.log 下面,這時記錄的日誌是沒有時間資訊的,就是說日誌裡的資料沒有辦法知道是什麼時候列印出來的。

下面通過乙個shell來解決這件事,**如下

[plain]view plain

copy

print?

#!/bin/bash  

if [ $# -gt 1 ]; then  

istring=''  

#去掉回車  

date=`date | tr -s ["\n"]`  

for (( i = 2; i <= $#; i++ ))  

do  

string=$string" "$  

done      

c=$date": "$string  

echo "" >> $1  

echo $c >> $1  

fi  

把上面的**放到根目錄下,儲存為 datecrontalog.sh

然後在crontab -e用下面的指令碼代替

[plain]view plain

copy

print?

*/1 * * * *  commond 2>&1 | xargs $home/datecrontalog.sh /tmp/t.log 

日誌 重定向

python 將終端 terminal 或者控制台的輸出結果輸出至 log 檔案 以檔案形式儲存 重定義 logger 類,然後 sys.stdout logger log檔名及路徑 import sys class logger object def init self,logfile defau...

輸入重定向,正確輸出重定向,錯誤輸出重定向

一 標準輸入 stdin a.輸入重定向 標準輸入 作用 將原先鍵盤輸入的內容改由檔案內容代替 root wenwen cat test.txt asdas asdas asdas 按crtl d 退出 將network內容匯入到test.txt中去 root wenwen cat test.txt...

關於crontab以及輸出重定向

linux下可以通過配置crontab來定時執行任務,執行體可以是一條系統命令或自己寫的乙個指令碼,同時可以指派使用者來執行。配置crontab有兩種方法。方法1 使用crontab命令,例如新增乙個新的或編輯已有的,使用 crontab e就可以進入配置檔案。此時配置crontab的執行者是當前登...