프로세스 활용도가 중요하지만, Linux 자동화를 위한 강력한 도구인 cron 데몬을 소개하기에 아주 좋은 시기입니다. 이 백그라운드 서비스는 특정 시간이나 간격으로 작업을 자동으로 실행하도록 작업을 예약할 수 있게 해줍니다. 이러한 예약된 작업을 일반적으로 cron 작업이라고 합니다. 이는 매일 밤 백업 스크립트를 실행하거나 일주일에 한 번 임시 파일을 정리하는 등 일상적인 작업을 자동화하는 데 엄청나게 유용합니다.
Cron 작업이란 무엇인가
매일 아침 바탕 화면 배경을 새로 설정하기 위해 /home/pete/scripts/change_wallpaper에 있는 스크립트를 실행한다고 상상해 보십시오. 매일 수동으로 실행하는 대신, cron 작업을 만들어 대신 실행하도록 할 수 있습니다. 일정을 정의함으로써 cron 서비스에 스크립트를 정확히 언제 실행해야 하는지 알려줄 수 있으므로 진정한 "설정하고 잊어버리는" 솔루션이 됩니다.
Crontab 구문 이해하기
cron 작업을 생성하려면 일정과 실행할 명령을 지정해야 합니다. 일정은 명령 앞에 오는 다섯 개의 필드로 정의됩니다.
30 08 * * * /home/pete/scripts/change_wallpaper
왼쪽에서 오른쪽으로 다섯 가지 시간 및 날짜 필드는 다음과 같습니다.
- 분: 0-59
- 시: 0-23 (24 시간 형식)
- 월의 일: 1-31
- 월: 1-12
- 주의 일: 0-7 (여기서 0 과 7 은 모두 일요일을 나타냄)
an asterisk (*) in a field acts as a wildcard, meaning "every". In the example above, the schedule 30 08 * * * tells cron to run the command at 8:30 AM, every day of the month, every month, and every day of the week.
Crontab 을 사용한 Cron 작업 관리
crontab 명령을 사용하여 개인 cron 작업을 관리할 수 있으며, 이를 통해 사용자별 crontab 파일을 편집할 수 있습니다. 이 파일에는 예약한 모든 cron 작업이 포함됩니다.
cron 작업을 추가하거나 편집하려면 -e (편집) 플래그를 사용합니다. 그러면 기본 텍스트 편집기에서 crontab 파일이 열립니다.
crontab -e
작업 정의를 추가하고 파일을 저장하면 cron이 새 일정을 자동으로 읽습니다. crontab -l로 활성 cron 작업을 나열하거나 crontab -r로 모든 작업을 제거할 수도 있습니다. cron 작업을 사용하는 것은 Linux 자동화에 관심이 있는 모든 사람에게 기본적인 기술입니다.