Crontab Generator 자주 묻는 질문
Generate cron expressions visually
Cron 표현식의 각 필드는 무엇을 의미하나요?
Cron은 5개 필드를 사용합니다: 분(0-59), 시간(0-23), 일(1-31), 월(1-12), 요일(0-6, 일요일=0). 예를 들어 '30 14 * * 5'는 매주 금요일 오후 2시 30분에 실행됩니다. '모든 값'에는 *, 1-5와 같은 범위, 1,15와 같은 목록 또는 */10과 같은 단계를 사용하세요.
왜 내 cron 작업이 실행되지 않나요?
일반적인 문제: 1) Cron 데몬이 실행되지 않음('systemctl status cron'으로 확인), 2) 잘못된 사용자의 crontab('crontab -l'로 확인), 3) 환경/PATH 차이(절대 경로 사용), 4) 표현식의 구문 오류, 5) 출력 리디렉션 없음(오류를 보려면 '>> /var/log/job.log 2>&1' 추가). 'journalctl -u cron'으로 시스템 로그를 확인하세요.
5분마다 cron 작업을 실행하려면 어떻게 하나요?
'*/5 * * * *'를 사용하세요. 분 필드의 */5는 '5분마다'를 의미합니다(:00, :05, :10, :15 등에 실행). 마찬가지로 */10은 10분마다, */15는 15분마다 실행됩니다.
업무 시간 동안만 cron 작업을 실행할 수 있나요?
예. 평일 오전 9시부터 오후 5시까지 매시간: '0 9-17 * * 1-5'. 업무 시간 동안 15분마다: '*/15 9-17 * * 1-5'. 시간 범위 9-17과 요일 범위 1-5(월요일-금요일)는 업무 시간으로 실행을 제한합니다.
실패하는 cron 작업을 어떻게 디버그하나요?
1) 출력 리디렉션 추가: 'command >> /tmp/debug.log 2>&1', 2) 로그 파일에서 오류 확인, 3) 테스트를 위해 정확한 명령을 수동으로 실행, 4) cron 데몬이 실행 중인지 확인, 5) 시스템 로그 확인(journalctl -u cron), 6) 명령 및 파일에 절대 경로 사용 확인, 7) '* * * * * env > /tmp/cron-env.txt'로 환경 테스트하여 사용 가능한 것 확인.
일(day of month)과 요일(day of week)의 차이점은 무엇인가요?
두 필드가 모두 지정된 경우(*가 아닌 경우) cron은 OR 논리를 사용합니다. '0 0 13 * 5'는 '13일 또는 금요일'에 실행되며 '13일의 금요일'이 아닙니다. 금요일만 원하면 '0 0 * * 5'를 사용하세요. 13일만 원하면 '0 0 13 * *'를 사용하세요. 복잡한 날짜 논리의 경우 날짜를 확인하는 스크립트를 사용하세요.