[One-Day Tech Talk] Crontab 사용과 실습

황제연·2025년 2월 16일

CS학습

목록 보기
6/194
post-thumbnail

서론

지난 시간에 Cron에 대한 정리와 표현식 사용방법에 대해 알아봤습니다
이번에는 실제 리눅스 환경에서 내가 작성한 Cron 표현식을 동작하도록 등록하겠습니다

Crontab 기본

리눅스 환경에서 Cron표현식을 등록하기 위해서는 Crontab을 사용합니다
먼저 기본이 되는 Crontab 명령어에 대해 정리했습니다

crontab -e

크론탭을 활성화해서 nano와 같은 텍스트 편집기로 넘어갑니다.
여기서 크론탭 명령어를 입력할 수 있습니다

명령어를 입력해서 위와같이 nano 텍스트 편집기를 실행시켰습니다

매달 1일 자정마다 태그없는 docker 이미지를 삭제하도록 Cron표현식을 추가했습니다

crontab -l

등록한 crontab 정보는 위 명령어를 통해 확인할 수 있습니다
cat 명령어를 작성한 것 같이 터미널에 출력됩니다

crontab -r

해당 명령어는 crontab을 지워버립니다.
작성한 모든 cron표현식이 삭제됩니다

Cron 표현식 백업

만약 crontab에 작성한 내용을 백업하고 싶다면
위와같이 경로를 지정해서 백업할 수 있습니다

crontab -l > /home/ubuntu/crontab_backup.txt

저는 위와같이 경로를 지정해서 백업했습니다

0 0 1 * * crontab -l > /home/ubuntu/crontab_backup.txt

추가로 백업도 자동화하도록 crontab에 추가했습니다!

Cron 로깅

내가 작성한 Cron 표현식이 정상적으로 동작하는지 궁금할 것입니다

grep CRON /var/log/syslog

해당 명령어를 통해 CRON 명령어가 정상적으로 실행되었는지 확인할 수 있습니다

테스트를 위해 crontab에 다음 표현식을 추가했습니다

* * * * * echo "hello"

이어서 명령어를 실행했습니다

위와같이 정상적으로 출력되는 것을 확인할 수 있습니다
하지만 매번 리눅스 환경을 확인할 수도 없고, 그 시간에 맞춰서 확인하기도 쉽지 않습니다

그 때, Cron 실행 내역을 로그로 남겨둔다면
정상 실행여부를 시간에 구애받지 않고 확인할 수 있습니다

1 0 1 * * /home/ubuntu/cron_log.sh > /home/ubuntu/cron_log.sh 2>&1

crontab에 처리 내역 로그정보를 남기도록 위와같이 명령어를 작성했습니다

Cron 실행

등록한 Cron 표현식이 정상적으로 실행되도록 서비스를 실행시켜줍니다

service cron start

해당 명령어로 crontab에 작성한 cron 표현식을 실행할 수 있습니다

service cron restart
service cron stop

만약 재시작하거나 멈추고 싶다면 위와같은 명령어를 작성하면 됩니다

위와같이 정상적으로 실행되고 있는 것을 확인할 수 있습니다

service cron status

위 명령어를 통해 실행 여부를 확인할 수 있습니다!

마무리

리눅스 환경에서 cron 표현식을 등록하고 싶으면 crontab을 이용해야 합니다

crontab에 등록한 cron표현식을 백업하거나 로깅을 통해 관리할 수 있으며,
cron 서비스를 실행시켜서 task를 리눅스 메모리에 등록할 수 있습니다

참고

profile
Software Developer

0개의 댓글