2022-06-28 Cron_실행
2022. 6. 28. 19:56ㆍBE/Linux
이 글은 목소리가 감미로우신 이고잉님의 오픈튜토리얼 리눅스 강의를 듣고 정리한 내용입니다.
Cron
출처 : https://terms.naver.com/entry.naver?docId=4125592&categoryId=59321&cid=59321
cron은 백업과 같이 주기적으로 실행하는 명령들을 정해진 시간에 자동으로 실행해 주는 도구다.
문법은 아래와 같다.
crontab [ -u 사용자ID ] 파일, crontab [ -u 사용자ID ] { -l | -r | -e }
- l : 현재 crontab 내용을 표준출력한다. List user’s crontab.
- r : 현재 crontab 내용을 지운다. Delete user’s crontab.
- e : .crontab 파일의 내용을 편집한다. Edit user’s crontab. (편집기는 VISUAL이나 EDITOR 환경 변수의 편집기를 사용)
crontab -e
해당 명령어를 입력하면 에디터로 이동.
여기에 주기적으로 실행할 명령어를 입력하면 된다.
# m h dom mon dow
#분 시 일 월 요일 (minute, hour, day of month, month, day of week)
# ┌───────────── min (0 - 59)
# │ ┌────────────── hour (0 - 23)
# │ │ ┌─────────────── day of month (1 - 31)
# │ │ │ ┌──────────────── month (1 - 12)
# │ │ │ │ ┌───────────────── day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * command to execute
10 * * * * date >> date.log #매시간 10분에 한번
* * * * * date >> date.log #매분 실행
1/* * * * * date >> date.log #매분에 1번
출처 : https://ko.wikipedia.org/wiki/Cron
date > date.log
cat date.log
date >> date.log
cat date.log
별도의 주소를 지정하지 않고 date.log
로만 입력하면 홈디렉터리 아래에 date.log
파일이 생성된다.
실시간으로 date.log
을 관찰하기 위해서는 아래의 명령어를 사용한다.
tail -f ~/date.log
tail -f
많이 사용하다고 한다.
명령어를 종료하고 싶다면 ctrl+d
를 입력한다.
* * * * * date >> date.log 2>&1
이렇게 작성하면 에러가 발생한 경우에 에러 메시지가 표준 출력으로 리다이렉션 되어 같이 저장된다.
2>&1
에서 >
와 &
사이에 띄어쓰면 안 된다. (parse error near `&')
&
를 인식하는 것에 문제가 발생하는 것 같다.
❯ cat error.txt 1> test.txt 2>&1
❯ cat test.txt
cat: error.txt: No such file or directory
의도적으로 에러를 발생시켜서 확인해보았다.
그냥 2>&1
는 하나의 구문으로 암기하자.
굳이 따지자면 deamon은 시도 때도 없이 돌아가는 프로그램이고, cron은 시도 때도 있이 돌아가는 프로그램 정도 되겠다.
'BE > Linux' 카테고리의 다른 글
2022-06-30 리눅스_권한_그룹_소유권 (0) | 2022.06.30 |
---|---|
2022-06-29 다중사용자, 슈퍼유저 (1) | 2022.06.29 |
2022-06-13 리눅스_디바이스_드라이버_5 (0) | 2022.06.13 |
2022-06-13 리눅스_디바이스_드라이버_4 (0) | 2022.06.13 |
2022-06-05 리눅스_디바이스_드라이버_3 (0) | 2022.06.05 |