리눅스를 crontab을 이용해서 필요한 시기에 자동으로 명령을 실행할 수 있다.
crontab을 사용하려면 편집을 통해 명령을 등록해야 되는데, 편집을 하려면 아래와 같이 한다.
crontab -e
crontab은 사용자별로 각각 등록할 수 있으므로 시스템 관련 명령을 사용하려면 root 사용자로 편집을 해야된다. 이를 위해 아래와 같이 한다.
sudo crontab -e
crontab의 명령은 아래와 같은 방법으로 입력한다.
.---------------- minute (0 - 59)
| .------------- hour (0 - 23)
| | .---------- day of month (1 - 31)
| | | .------- month (1 - 12) OR jan,feb,mar,apr ...
| | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
| | | | |
* * * * * command to be executed
위의 예시에서 별이 5개 있는데, 첫 번째 별부터 의미를 살펴보면…
- 분 – 0부터 59의 값을 가진다.
- 시 – 0부터 23의 값을 가진다.
- 일 – 1부터 31의 값을 가진다.
- 월 – 1부터 12의 값을 가진다.
- 요일 – 0부터 6의 값을 가지며, 일요일이 0, 토요일이 6이다.
- 명령 – 실행할 명령을 적는다.
예를 들어 매주 월요일 3시 30분에 재부팅을 하게 하려면 편집기에서 아래와 같이 입력한다.
30 3 * * 1 reboot
편집을 다 했으면 <ctrl>-<x>를 누른 후 <y>를 누르면 편집한 내용이 저장되고 편집기를 마친다.
crontab에 등록된 명령 목록을 확인하려면 아래와 같이 한다. 필요하면 앞에 sudo를 붙인다.
crontab -l
리눅스에서 crontab을 이용한 자동화