![종료 2의 if 조건을 반환하는 오류 문에 대한 로그 작성](https://linux55.com/image/38417/%EC%A2%85%EB%A3%8C%202%EC%9D%98%20if%20%EC%A1%B0%EA%B1%B4%EC%9D%84%20%EB%B0%98%ED%99%98%ED%95%98%EB%8A%94%20%EC%98%A4%EB%A5%98%20%EB%AC%B8%EC%97%90%20%EB%8C%80%ED%95%9C%20%EB%A1%9C%EA%B7%B8%20%EC%9E%91%EC%84%B1.png)
조건절에 두 개의 종료가 있는 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