이 글에서는 관리자 권한을 가진 root User에 로그인 해서 crontab -e 명령을 사용하여 로그인 User가 소유한 Task(Job) 스케줄러(cron)에 Task(Job)을 등록하는 방법을 소개합니다. 또한 crontab -l 명령으로 로그인 User가 등록한 Task (Job) 스케줄러(cron)의 정보를 확인할 수 있습니다. 일반 User도 같은 방법으로 등록할 수 있습니다.
작업 환경
이 글은 다음 환경에서 작업했습니다.
# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
등록 하기
crontab -e 명령으로 다음과 같이 User별 Task(Job) 스케줄러(cron)에 Task(Job)을 등록할 수 있습니다. 편집 방법은 vi의 사용법과 똑같습니다. 편집이 끝나면 [ESC key] + “:wq!“를 입력하여 정보를 저장하고 종료합니다. 다음 예시의 초록색 부분은 스케줄러로 설정한 각각의 값의 이해를 돕기 위해 추가했습니다.
# crontab -e
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed
0 6 * * * sh /root/cron_backuppg_test.sh
확인 하기
crontab -l 명령으로 현재 로그인 User의 스케줄러(cron)에 Task(Job)을 확인할 수 있습니다.
# crontab -l
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed
0 6 * * * sh /root/cron_backuppg_test.sh
또한 관리자 권한으로 다음과 같이 로그인 User별로 등록된 스케줄러(cron)를 확인할 수 있습니다.
# cd /var/spool/cron
# ls -la
합계 4
drwx------. 2 root root 18 7월 31 23:10 .
drwxr-xr-x. 8 root root 87 7월 10 17:42 ..
-rw-------. 1 root root 388 7월 31 23:10 root
# cat root
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed
0 6 * * * sh /root/cron_backuppg_test.sh