[LINUX] cron and at
crond가 cron의 daemon임
/etc/crontab에 있음
분 시 일 월 요일 권한 실행명령 순으로 되어 있다.
01 * * * 0 root run-parts /etc/cron.hourly
root권한으로 해당 시간에 /etc/cron.hourly 디렉토리의 파일을 실행이라고 해석할 수 있다. 그러므로 /etc/cron.hourly/ 디렉토리에 실행이 가능한 파일을 넣어 놓는다면 매시간 01분마다 실행될 것이다.(요일은 0~6이고 0은 일요일)
# service crond status를 통해 crond가 동작하고 있는지 확인
cron은 주기적으로 반복되는 작업을 예약하는 것이지만, at는 일회성 작업을 예약하는 것이다. 즉, at는 예약을 해 놓으면 한 번만 실행되고 소멸되는 것이다.
# at <시간>
ex)
# at 3:00am tommorrow
# at 11:00pm January 30
# at now + 1 hours
at> 프롬프트에 예약 명령어 입력 후 enter
완료되면 Ctrl+D
확인은 at -l을 입력하면 되고, 취소하고 싶다면 atrm <작업번호>를 입력하면 된다.
vi /etc/crontab을 열고 작업 가능
예를 들어, /home밑에 있는 내용의 전체를 backup받으려면,
crontab에 /etc/cron.monthly를 실행토록 지정하고, 해당 directory로 이동해서
vi myBackup.sh로 home전체 backup받는 스크립트를 입력하고 실행권한을 준다.
#!/bin/sh
set $(date)
fname="backup-$2$3.tar.bz2"
tar cfj /backup/$fname /home
crond데몬을 재시작해준다.
#service crond restart
댓글
댓글 쓰기