2021-10-16 23:03:15
https://kim-19.tistory.com/146?category=922291
티스토리 블로그 글을 옮기면서 일부 수정하였습니다.
리눅스를 주로 서버로 이용하다보니 주기적으로 해줘야할 일들이 있습니다.
이를 매 정해진때마다 하는 것은 버거롭기때문에 예약을 걸게 됩니다.
리눅스에서는 이를 crontab으로 수행합니다.
명령어:
crontab
옵션:
-i : 설정해둔 예약작업을 본다.
-e : 예약 작업을 수정한다. (에디터로 열림)
-r : 에약 작업을 삭제한다.
등록법
$ crontab -e
다음과 같은 창이 뜨며 주석으로 설명을 친절하게 해놓았다.
작성 방법은 다음과 같다.
[분] [시] [일] [월] [요일] [명령어]
요일 값
# 수요일 자정 재시작
0 0 * * 3 init 6
# 매 5의 배수가 되는 분 마다 재시작
*/5 * * * * init 6
# 20분 혹은 50분이 되면 재시작
20,50 * * * * init 6
이러한 방식으로 작성하게되면 원하는 시각마다 작업을 수행할 수 있다.
특성상 백업을 하다가 파일에 날짜를 넣게되는데. 이때 date 명령에 인수로 %Y%m%d 이런 것을 줄 때. %는 이스케이프 처리를 해줘야한다.
ex) %Y%m%d
crontab 스크립트가 몇 줄 안되어도 왠만하면 쉘 스크립트 파일로 작성하고 스크립트를 crontab에서 실행하는 편이 좋다고 생각하나, 사용은 개인의 자유이다.
그리고 나는 WSL로 사용하려했었는데 켜면 보통은 서비스가 꺼져있다...
sudo systemctl start crontab
켜주자.