조건절에 두 개의 종료가 있는 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
나는 이미 알고 있다 ">>스크립트.로그"스크립트에 기록된 모든 반환 값과"2>>스크립트.오류"스크립트가 올바르게 실행되지 않는 경우에만 작성됩니다. 그래서 그냥 스크립트에 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