我有一個腳本每 5 分鐘運行一次,條件子句中有兩個退出。
#!/bin/bash
date=$(date +%Y)
if [ $date -eq '2014' ]
then
echo "Current year is $date"
exit 0
else
echo "Current year is not $date"
exit 2
fi
如何指定僅在退出 2 時寫入日誌?這在 crontab 中可能嗎?
5 * * * * /home/user/script.sh >> script.log 2>> script.err
我已經明白了 “>>腳本.log”寫入腳本的所有回傳值和“ 2 >> 腳本.錯誤”僅當腳本運行不正確時才寫入。所以我不知道是否有機會只寫腳本中 exit 2 的位置。
答案1
答案2
您可以使用logger
( man logger
),因為它是從cron
.而且您實際上並不需要退出程式碼,因為您沒有對它們執行任何操作,至少在上面的程式碼片段中是如此。
#!/bin/bash
DATE=$(date +%Y)
if [ $DATE -ne '2014' ]; then
logger -f script.log "Current year is not $date"
fi