[Linux] Rocky Linux 9.5 Cron 설정 및 테스트 방법






1. 개요

  • 리눅스에서 정기적으로 실행되는 작업(백업, 로그 정리, 모니터링 등)은 cron 서비스를 통해 자동화할 수 있습니다.
  • 사용자 크론탭시스템 크론탭cron.hourly 디렉터리 세 가지 방식으로 스크립트를 실행하고 로그로 결과를 확인해 봅니다.



2. 버전

  • Rocky Linux 9.5



3. 설명




3-1. cron 주요 명령어

명령어설명
systemctl status crondcron 서비스 상태 확인
systemctl enable --now crondcron 서비스 자동시작 및 즉시 실행
crontab -e현재 사용자 Crontab 편집
crontab -l현재 사용자 Crontab 목록 확인
crontab -r현재 사용자 Crontab 삭제
run-parts [디렉토리]cron 디렉토리 내 스크립트를 강제로 실행
grep CRON /var/log/croncron 로그 확인



3-2. cron 설정 형식(Crontab Format)

  • 분 시 일 월 요일 명령어


필드의미값 범위예시
분 (Minute)매 시각의 몇 분에 실행할지0–590 → 정시
시 (Hour)하루 중 몇 시에 실행할지0–232 → 새벽 2시
일 (Day)매달 며칠에 실행할지1–3115 → 매달 15일
월 (Month)몇 월에 실행할지1–123 → 3월
요일 (Day of week)요일 지정0–7 (0 또는 7 = 일요일)1 → 월요일
명령어 (Command)실행할 스크립트나 명령문자열/root/backup.sh



3-3. 특수 기호 설명

기호의미예시
*모든 값(매번)* * * * * → 매분마다
,여러 값 지정0,30 * * * * → 매시 0분과 30분
-범위 지정1-5 * * * * → 매시 1~5분
/주기적 간격*/10 * * * * → 10분 간격
@reboot부팅 시 1회 실행@reboot /root/startup.sh



3-4. Cron Directory 종류

  • 특정 디렉토리 내의 스크립트를 자동 실행하도록 미리 정해진 경로를 제공합니다.


디렉토리실행 주기설명
/etc/cron.hourly/1시간마다매시간 실행되는 스크립트
/etc/cron.daily/1일 1회매일 새벽(기본 4시) 실행
/etc/cron.weekly/1주 1회주 1회(보통 일요일) 실행
/etc/cron.monthly/1달 1회매달 1일 실행
/etc/cron.d/자유 형식시스템 서비스용 cron 정의 (일반 사용자용 아님)



3-5. Cron 로그 및 확인 명령어

명령어설명
grep CRON /var/log/croncron 실행 로그 확인
journalctl -u crondsystemd 로그 확인
tail -f /var/log/cron실시간 로그 모니터링



3-6. Cron 관련 주요 파일 위치

파일 경로설명
/etc/crontab시스템 전체에 적용되는 기본 cron 설정
/var/spool/cron/사용자별 crontab 파일 저장 위치
/etc/cron.d/패키지나 서비스별 cron 설정 저장
/etc/anacrontabanacron 주기 설정 파일
/etc/cron.allow/etc/cron.denycron 실행 권한 제어 파일



4. 테스트 스크립트




4-1. 테스트 스크립트 생성

# vim /root/cron_script.sh


설정 예시:

date "+%Y-%m-%d %H:%M:%S %Z"



4-2. 실행 권한 부여

# chmod +x /root/cron_script.sh



5. 사용자 Crontab




5-1. 설정

# crontab -e


설정 예시:

* * * * * /root/cron_script.sh >> /root/user_crontab.log 2>&1



5-2. 설정 확인

# crontab -l


출력 예시:

* * * * * /root/cron_script.sh >> /root/user_crontab.log 2>&1



5-3. 로그 확인

# cat /root/user_crontab.log


출력 예시:

2025-10-06 15:51:01 KST



6. 시스템 Crontab




6-1. 설정

# vim /etc/crontab


설정 예시:

* * * * * root /root/cron_script.sh >> /root/system_crontab.log 2>&1



6-2. 로그 확인

# cat /root/system_crontab.log


출력 예시:

2025-10-06 15:52:01 KST



7. Directory Crontab




7-1. 스크립트 작성

# vim /etc/cron.hourly/cron_script


설정 예시:

date "+%Y-%m-%d %H:%M:%S %Z" >> /root/cron_hourly.log 2>&1



7-2. 실행 권한 부여

# chmod 755 /etc/cron.hourly/cron_script



7-3. 강제 실행(테스트용)

# run-parts /etc/cron.hourly/



7-4. 로그 확인

# cat /root/cron_hourly.log


출력 예시:

2025-10-06 15:52:32 KST



댓글 남기기