특정 시간에 스크립트를 실행하기 위한 Crontab 설정 방법
서버나 기기에서 cron
을 사용하여 작업을 자동화하고 싶으신가요? 새로운 사용자들 사이에서 자주 묻는 질문 중 하나는 특정 시간에 스크립트를 실행하기 위해 crontab 항목을 설정하는 방법입니다. 이번 포스트에서는 매일 오후 11:59
에 스크립트를 실행하면서 귀찮은 이메일 알림이나 로그 생성을 방지하는 방법에 대해 단계별로 알아보겠습니다.
Crontab 이해하기
Crontab
은 유닉스 계열 운영 체제에서 시간 기반 작업 스케줄러입니다. 사용자가 특정 간격이나 시간에 작업(명령어 또는 스크립트)을 예약할 수 있도록 해줍니다. Crontab 파일에는 특정 시간에 실행될 명령어 목록이 포함됩니다.
다루게 될 형식은 다음과 같습니다:
* * * * * command_to_execute
각 별표는 시간 단위를 나타냅니다:
- 첫 번째
*
는 분을 나타냅니다 (0-59) - 두 번째
*
는 시간을 나타냅니다 (0-23) - 세 번째
*
는 월의 일을 나타냅니다 (1-31) - 네 번째
*
는 월을 나타냅니다 (1-12) - 다섯 번째
*
는 요일을 나타냅니다 (0-7, 여기서 0과 7은 일요일을 의미)
Crontab 항목 설정하기
매일 오후 11:59
에 스크립트를 실행하도록 crontab을 설정하려면 다음 단계를 따릅니다:
-
Crontab 편집기 열기: 터미널에서 다음 명령어를 실행하여 crontab을 열 수 있습니다:
crontab -e
-
Crontab 명령어 입력하기: 아래의 줄을 추가하여 원하는 시간에 스크립트를 실행합니다:
59 23 * * * /path/to/your/script.sh > /dev/null 2>&1
각 부분의 의미는 다음과 같습니다:
59
- 이 명령어가 59분에 실행되어야 함을 지정합니다.23
- 이 명령어가 23시(오후 11시)에 실행되어야 함을 지정합니다.* * *
- 별표는 이 명령어가 매일, 매달, 매주 실행되어야 함을 나타냅니다./path/to/your/script.sh
- 실제 스크립트의 경로로 교체합니다.> /dev/null 2>&1
- 이 부분은 표준 출력 및 표준 오류를/dev/null
로 리디렉션하여 이메일과 로그 항목 생성이 방지됩니다.
이메일 및 로그 생성 방지
> /dev/null 2>&1
를 추가함으로써, 스크립트의 출력이 이메일로 전송되지 않고, 어딘가에 로그되지 않도록 보장합니다. 이는 crontab을 더 깔끔하게 유지하고, 특히 자주 실행되지만 보고서가 필요 없는 스크립트의 경우 인박스의 혼잡을 줄여줍니다.
마무리 생각
Crontab을 설정하는 것은 작업을 자동화하는 간단하면서도 강력한 방법입니다. 위의 단계를 따르면 이메일이나 로그의 번거로움 없이 매일 오후 11:59
에 스크립트를 쉽게 예약할 수 있습니다.
crontab
에 대한 더 포괄적인 정보를 원하신다면, 터미널에서 man crontab
명령어를 실행하여 좋은 예제와 추가 설명을 포함한 매뉴얼 페이지를 검토하시기 바랍니다.
이제 편안히 앉아서 컴퓨터가 반복 작업을 처리하도록 하세요!