크론테이블에 등록 : crontab -e
■ cron
- 명령은 지정된 날짜와 시간에 일정 작업을 주기적으로 수행하기 위해 사용되며 각 사용자별로 /var/spool/cron/crontabs 디렉토리에 사용자 ID와 같은 이름의 crontab 화일을 만들어 cron job을 지정할 수 있다
- cron 명령은 시스템이 부팅되면서 /etc/rc2.d/S75cron 스크립트에 의해서 daemon 형태로 수행된다
■ 형식 : crontab -e
분 시 일 월 요일 실행할 명령
분 : 0-59
시 : 0-23
일 : 1-31
월 : 1-12
요일 : 0-6( 0: 일요일)
■ 옵션
crontab -e : 작업할 내용 작성하기
crontab -l : 현재 설정되어 있는 작업내용 보기
crontab -r : 설정되어 있는 작업을 모두 삭제하기
■ 예제
ex1) 1일부터 15일 까지로 날짜를 지정하고 싶을 땐 다음과 같이 하이픈을 이용할 수 있다
0 1 1-15 * * [명령]
분, 시, 날, 달, 요일, 모두 적용할 수 있다
ex2) 1일과 7일 15일에 cron을 작동시킬 땐 콤마를 이용하면 된다
0 1 1,7,15 * * [명령]
분, 시, 날, 달, 요일, 모두 적용할 수 있다
ex3) 매 5일 마다 실행하고 싶을 땐 슬래쉬(/)를 이용한면 된다
0 1 /5 * * [명령]
분, 시, 날, 달, 요일, 모두 적용할 수 있다
/ 안해줘도 달이 *로 표현되어 있어서 매달 실행된다. 하지만 좋은 습관을 들이기 위해..
ex4) 매주 일요일 오전 3:15에 /var 디렉토리에 있는 core 화일을 지우는 작업
15 3 * * 0 find /var -name core 2>/dev/null | xargs rm -f
ex5) 매월 1일 오후 6시에 시스템 down message 보내기
0 18 1 * * wall "System Will be down"
■ Access 제한
- /etc/cron.d/cron.allow 파일이나 /etc/cron.d/cron.deny 화일을 이용하여 시스템 관리자는 각 사용자별로 crontab 파일에 대한 Access 권한을 제한 할 수 있다
* crontab을 access 할 수 있는 사용자
- /etc/cron.d/cron.allow 화일이 존재하는 경우, 그 파일 안에 지정된 사용자
- /etc/cron.d/cron.allow 화일이 없는 경우 : /etc/cron.d/cron.deny 파일 안에 지정되지 않은 사용자
* crontab을 access 할 수 없는 사용자
- /etc/cron.d/cron.allow 파일이 존재하는 경우 : 그 파일 않에 지정되지 않은 사용자
- /etc/cron.d/cron.allow 파일이 없는 경우 : /etc/cron.d/cron.deny 파일에 지정된 사용자
- /etc/cron.d/cron.allow와 /etc/cron.d/cron.deny 파일이 모두 없는 경우 : root를 제외한 모든 사용자
- OS가 설치되면 기본적으로 /etc/cron.d/cron.deny이 생성되고 그 안에 아래의 사용자들이 지정된다
daemon
bin
smtp
nuucp
listen
nobody
noaccess
/etc/cron.d/cron.allow와 /etc/cron.d/cron.deny 화일에 사용자를 지정할 때는 위와 같이 한줄에 한명씩 사용자를 지정한다.
0 4 1,10 * * 명령1
위 처럼 crontab을 편집하면 매월 1일과 10일 4시에 명령1을 실행한다는 의미이다. 또
0 4 1-10 * * 명령2
위처럼 crontab을 편집하면 매월 1일부터 10일동안 매일 명령2를 실행한다는 의미이다. 그리고
0 4 */5 * * 명령3
라고 편집하면 매 5일마다 실행한다는 것으로 1일, 6일, 11일 등과 같이 5일 간격으로 실행한다는 의미이다.
그리고 그 외에 root 권한으로 다른 사용자의 crontab 파일을 편집하기 위해서는 다음과 같이 명령하면 된다.
crontab -u user -e
[출처] Cron|작성자 지우개
출처: http://annehouse.tistory.com/390 [초록지붕의 앤]
'Works > CentOS & RockyLinux' 카테고리의 다른 글
SFTP log 설정 (0) | 2018.02.22 |
---|---|
dig 개념 및 사용법 (0) | 2017.11.01 |
centos7 고정 ip 설정 (0) | 2017.09.13 |
리눅스에서 tcpdump 명령어의 옵션 정리 (0) | 2017.06.20 |
유용한 find 명령어 응용모음. (0) | 2017.06.09 |