我的腳本如下添加時間戳登錄bash腳本
if ps ax | grep -v grep | grep ./program > /dev/null
then
exit
else
echo "---------------------------------------------------" >> Debug.log
echo "Starting program at: $(date)" >> Debug.log
./program >> Debug.log 2>&1
fi
exit
通過crontab文件,這個腳本運行的每一分鐘。它檢查某個程序是否正在運行,如果是,很好,如果沒有,啓動它。
現在我想每次腳本運行到Debug.log時追加時間戳,如果它發現./程序正在運行。所以下then
行了,我說:
echo "Time: $(date)" >> Debug.log
該命令沒有輸出任何東西的debug.log。它可以直接從命令行運行。爲什麼是這樣,我能解決這個問題嗎?
不能告訴你爲什麼,但'date +'時間:%C「>> Debug.log'似乎是做你想做的事情,可能更透明和簡潔。 – tripleee
另外,'grep thing | grep -v grep'通常可以重構爲像'grep [t] hing'這樣的想法是使用不匹配自己的正則表達式。 – tripleee
注意你輸出到'Debug.log',而你應該指出該文件的完整路徑。 – fedorqui