본문 바로가기

리눅스

우분투에서 cron 작업에 대한 로그를 별도의 파일로 분리하는 방법

728x90

우분투에서 cron 작업에 대한 로그를 별도의 파일로 분리하는 방법

1. rsyslog 설정 변경

cron 로그를 별도의 파일로 보내도록 rsyslog를 구성해야 합니다.

sudo vim /etc/rsyslog.d/50-default.conf
  • default rsyslog(50-default.conf)
더보기

---

cat /etc/rsyslog.d/50-default.conf
#  Default rules for rsyslog.
#
#                       For more information see rsyslog.conf(5) and /etc/rsyslog.conf

#
# First some standard log files.  Log by facility.
#
auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
#cron.*                         /var/log/cron.log
#daemon.*                       -/var/log/daemon.log
kern.*                          -/var/log/kern.log
#lpr.*                          -/var/log/lpr.log
mail.*                          -/var/log/mail.log
#user.*                         -/var/log/user.log

#
# Logging for the mail system.  Split it up so that
# it is easy to write scripts to parse these files.
#
#mail.info                      -/var/log/mail.info
#mail.warn                      -/var/log/mail.warn
mail.err                        /var/log/mail.err

#
# Some "catch-all" log files.
#
#*.=debug;\
#       auth,authpriv.none;\
#       news.none;mail.none     -/var/log/debug
#*.=info;*.=notice;*.=warn;\
#       auth,authpriv.none;\
#       cron,daemon.none;\
#       mail,news.none          -/var/log/messages

#
# Emergencies are sent to everybody logged in.
#
*.emerg                         :omusrmsg:*

#
# I like to have messages displayed on the console, but only on a virtual
# console I usually leave idle.
#
#daemon,mail.*;\
#       news.=crit;news.=err;news.=notice;\
#       *.=debug;*.=info;\
#       *.=notice;*.=warn       /dev/tty8

---

 

이 파일을 열고 다음 줄을 주석 제거합니다.

cron.*          /var/log/cron.log

2. sed 명령어를 사용하여 주석을 제거

sudo sed -i 's/^#cron\./cron\./' /etc/rsyslog.d/50-default.conf

3. cron 로그 파일 생성

cron 로그를 저장할 새로운 로그 파일을 생성합니다.

sudo touch /var/log/cron.log

해당 파일의 소유자를 syslog로 변경합니다.

sudo chown syslog:adm /var/log/cron.log

4. rsyslog 재시작

마지막으로 rsyslog를 다시 시작하여 변경 사항을 적용합니다.

sudo systemctl restart rsyslog

cron 로그 파일 확인

$ ls -l cron.log
-rw-r----- 1 syslog adm 230 Mar 20 08:39 cron.log

 

이제 cron 작업에 대한 로그는 /var/log/cron.log 파일에 저장됩니다.

 

728x90