我有一个脚本每 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