티스토리 뷰

반응형

cron 시스템

유닉스의 명령어 스케줄링 시스템으로, crontab 파일에 따라 주기적으로 명령어를 수행한다.

 

cron 명령어

crontab 파일(.cron)을 cron 시스템에 등록한다.

- 필드: 분, 시, 일, 월, 요일, [사용자], 명령 (총 7개)

 

$ crontab 파일

# 사용자가 등록한 crontab 파일들의 리스트를 출력 
$ crontab -l [사용자] 

# 사용자의 crontab 파일을 수정/생성 
$ crontab -e [사용자] 

# 사용자의 crontab 파일을 삭제 
$ crontab -r [사용자]

crontab 파일 예시)

# 매 정각마다 "뻐꾹" 메세지를 /tmp/x 파일에 덧붙인다. 
o * * * * echo "뻐꾹" >> /tmp/x 

# 매일 1:20에 3일간 접근하지 않은 /tmp 내 파일들을 삭제한다. 
20 1 * * * root find/tmp -atime +3 -exec rm -f {} \; 

# 2개월마다 수-금요일동안 1시 30분에 wall 명령어로 시스템 모든 사용자에게 메시지를 전송한다. 
30 1 * 2,4,6,8,10,12 3-5 /usr/bin/wall /var/tmp/message

 

rm -f : 존재하지 않는 파일을 무시하고 확인 메세지도 보여주지 않는다.("f"orce, 강제로)


at 명령어

특정 시간에 단 한 번만 실행한다. 실행할 명령은 표준입력으로 받는다.

-f 옵션 : 실행할 명령을 파일로 등록할 수 있다.

$ at [-f 파일] 시간 

$ at 1145 jan 31 
at> sort infile > outfile 

$ at -r 작업번호    #작업번호에 해당하는 작업을 제거한다.

 

atq 명령어

at 시스템의 큐에 등록된 at 작업들을 확인한다.

$ atq 
3        Tue Dec 3 20:00:00 2020 a aeae1

 

 

반응형