Bash 스크립팅 입문
Alex Scriven
Data Scientist
스크립트 예약이 유용한 상황은 많습니다:
cron으로 스크립트를 예약하는 것은 현대 데이터 인프라의 필수 역량입니다.
Cron은 70년대부터 유닉스 계열 시스템의 일부였습니다. 사람들은 그때부터 자동화를 좋아했습니다!
이름은 그리스어 시간이라는 뜻의 chronos에서 왔습니다.
구동체는 crontab이며, 그 안에 cronjobs가 줄마다 들어 있고, 각 항목이 어떤 코드를 언제 실행할지 지정합니다.
현재 설정된 일정(cronjobs)은 다음 명령으로 확인할 수 있습니다:
crontab -l
crontab: no crontab for user
이제 일정을 하나 만들어 봅시다!
위키백과의 이 좋은 그림은 crontab 파일 안에 cronjob을 어떻게 구성하는지 보여줍니다. 줄마다 여러 cronjob을 넣을 수 있습니다.

*는 ‘매번’을 의미합니다cronjob 예시를 살펴봅시다:
5 1 * * * bash myscript.sh
*로 매일, 매월.
15 14 * * 7 bash myscript.sh
*(매일, 매월). 마지막은 7(일요일).하루에 여러 번 또는 일정한 ‘X’ 간격으로 실행하는 것도 가능합니다:
15,30,45 * * * *는 분 15, 30, 45에 실행합니다. 두 번째 별은 시간으로, 여기선 매시간, 매일 등입니다.*/15 * * * *는 15분마다 실행합니다. 역시 매시간, 매일 등입니다.extract_data.sh 스크립트를 매일 새벽 1시 30분에 실행해 봅시다. 단계는 다음과 같습니다:
crontab -e로 cronjob 목록을 편집합니다.nano가 vi(vim)보다 학습 곡선이 완만해 쉬운 선택입니다.30 1 * * * extract_data.shMac의 nano라면 ctrl + o, enter, ctrl + x 순으로 종료합니다.
crontab: installing new crontab 메시지가 표시됩니다
crontab -l로 등록 여부를 확인합니다.30 1 * * * extract_data.sh
잘하셨습니다!
Bash 스크립팅 입문