리눅스에서는 cron 서비스를 활용하여 특정 시간에 주기적으로 실행되는 작업을 설정할 수 있습니다. 이 예시에서는 매일 14시 35분에 “Hello”를 출력하는 작업을 설정하는 방법을 설명합니다.
리눅스 cron 정기적인 작업 스케줄링 설정
리눅스에서 매일 14시 35분에 “Hello” 출력
리눅스에서 매일 14시 35분에 “Hello”를 출력하는 작업을 설정하려면 다음 단계를 따르세요.
which echo
명령을 사용하여echo
명령의 경로를 확인합니다.
# which echo
/bin/echo
crontab -e -u harry
명령을 사용하여harry
사용자의 crontab 파일을 편집합니다.
# crontab -e -u harry
- 다음과 같은 행을 입력합니다.
35 14 * * * /bin/echo Hello
이 행은 매일 14시 35분에 /bin/echo
명령을 실행하여 “Hello”를 출력합니다.
Enter
키를 누르고:wq
를 입력하여 crontab 파일을 저장하고 종료합니다.crontab -l -u harry
명령을 사용하여harry
사용자의 crontab 파일의 내용을 확인합니다.
# crontab -l -u harry
35 14 * * * /bin/echo Hello
systemctl status crond
명령을 사용하여 crond 서비스가 실행되고 있는지 확인합니다.
# systemctl status crond
● crond.service - CRON Daemon
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2023-07-27 14:23:22 KST; 1min 11s ago
Main PID: 1234 (crond)
Tasks: 1 (limit: 1152)
Memory: 3.9M
CPU: 1.09s
CGroup: /system.slice/crond.service
└─1234 /usr/sbin/crond -n
ls /var/spool/cron
명령을 사용하여 crontab 파일의 위치를 확인합니다.
# ls /var/spool/cron
root
tail /var/log/cron
명령을 사용하여 crond 서비스의 로그를 확인합니다.
# tail /var/log/cron
Jul 27 14:35:22 localhost.localdomain crond[1234]: (root) CMD (/bin/echo Hello)
이 단계를 따르면 매일 14시 35분에 harry
사용자의 crontab 파일에 지정된 명령이 실행됩니다.
참고
crontab
명령을 사용하여 다른 사용자의 crontab 파일을 편집할 때는-u
옵션을 사용합니다.crontab
파일의 각 행은 다음과 같은 형식을 따릅니다.
분 시간 일 월 요일 명령
예를 들어, 매일 14시 35분에 /bin/ls
명령을 실행하려면 다음과 같은 행을 입력합니다.
35 14 * * * /bin/ls
systemctl
명령을 사용하여 crond 서비스의 상태를 확인하고 시작 및 중지할 수 있습니다.
cron 서비스 상태 확인
cron 서비스가 실행 중인지 확인합니다.
# systemctl status crond
활성화 및 실행 중인 것으로 표시되어야 합니다.
cron 로그 확인
cron 작업이 정상적으로 실행되었는지 로그를 확인합니다.
# tail /var/log/cron
로그에는 실행된 작업에 대한 정보가 표시됩니다.
이제 설정한 대로, 매일 14시 35분에 “Hello”가 출력되도록 작업이 스케줄링되었습니다. 이를 통해 리눅스 시스템에서 주기적으로 원하는 작업을 자동으로 수행할 수 있습니다.