- 1회성 스케쥴링 명령어 : at
- 주기적 스케쥴링 명령어 : cron
예약 확인 :$atq or $at -l
예약 삭제 :$at -d 1 (Job Number)
- at명령은 root뿐 아니라 일반 계정으로도 사용가능하다.
※ at 및 cron 사용자 제한
사용자가 1,000명 이상인 서버라고 가정 해 볼 경우 사용자 개개인이
모두 at을 사용한다면? 프로세스(ps)에 남기 때문에 과부하의 원인이 된다.
*관련파일 : /etc/at.allow, /etc/at.deny
/etc/cron.allow, /etc/cron.deny
Ⅰ. /etc/cron.deny만 존재하는 경우
: 기본적으로 모든 사용자 사용가능, cron.deny 파일에 명기된 사용자는 사용불가
Ⅱ. /etc/cron.allow만 존재하는 경우
: cron.allow 파일에 명기된 사용자만 사용가능
Ⅲ. 두 파일 모두 존재하는 경우
: cron.deny 파일에 상관없이 cron.allow 파일에 명기된 사용자만 사용가능
Ⅳ. 두 파일 모두 존재하지 않는 경우
: 일반 사용자는 사용불가하고 root만 사용가능
사용자가 1,000명 이상인 서버라고 가정 해 볼 경우 사용자 개개인이
모두 at을 사용한다면? 프로세스(ps)에 남기 때문에 과부하의 원인이 된다.
*관련파일 : /etc/at.allow, /etc/at.deny
/etc/cron.allow, /etc/cron.deny
Ⅰ. /etc/cron.deny만 존재하는 경우
: 기본적으로 모든 사용자 사용가능, cron.deny 파일에 명기된 사용자는 사용불가
Ⅱ. /etc/cron.allow만 존재하는 경우
: cron.allow 파일에 명기된 사용자만 사용가능
Ⅲ. 두 파일 모두 존재하는 경우
: cron.deny 파일에 상관없이 cron.allow 파일에 명기된 사용자만 사용가능
Ⅳ. 두 파일 모두 존재하지 않는 경우
: 일반 사용자는 사용불가하고 root만 사용가능
- crontab 중요(별표 다섯개 돼지꼬리 땡땡)
#리눅스마스터, LPIC, RHCE 100% 출제
#vi /etc/crontab
#ls /etc/cron.*
$crontab -e
=> vi가 실행됨
분 시 일 월 요일 명령
0~59 0~23 1~31 1~12 0~7
0~59 0~23 1~31 1~12 0~7
$crontab -l
=> 확인
예제)
1. 매주 금요일 밤 11:30 a.sh 실행(/home/neopark/a.sh)
30 23 * * 5 /home/neopark/a.sh
2. 매월 1일 오전 9:00 b.sh
0 9 1 * * b,sh
3. 홀수달 1일 오후 3시 c.sh
0 15 1 1,3,5,7,9,11(또는 1-12/2) * c.sh
- 해당 shell script의 퍼미션 꼭 확인할 것 (#chmod 755 a.sh)
1. 매주 금요일 밤 11:30 a.sh 실행(/home/neopark/a.sh)
30 23 * * 5 /home/neopark/a.sh
2. 매월 1일 오전 9:00 b.sh
0 9 1 * * b,sh
3. 홀수달 1일 오후 3시 c.sh
0 15 1 1,3,5,7,9,11(또는 1-12/2) * c.sh
- 해당 shell script의 퍼미션 꼭 확인할 것 (#chmod 755 a.sh)
$crontab -r
=> 삭제
$crontab -e -u 사용자ID
=> 사용자ID의 croantab을 작성하거나 수정한다.
[활용]
[root@clients171 ~]# cat > aaa
0 10 * * 1 find / -name '*.txt' 2>/dev/null > /home/neopark/list.txt
20 11 * * 1-5 find /home/neopark -name '*.bak' -exec rm -rf {} |;
[root@clients171 ~]# crontab -l
no crontab for root
[root@clients171 ~]# crontab aaa
[root@clients171 ~]# crontab -l
0 10 * * 1 find / -name '*.txt' 2>/dev/null > /home/neopark/list.txt
20 11 * * 1-5 find /home/neopark -name '*.bak' -exec rm -rf {} |;
[root@clients171 ~]# cat > aaa
0 10 * * 1 find / -name '*.txt' 2>/dev/null > /home/neopark/list.txt
20 11 * * 1-5 find /home/neopark -name '*.bak' -exec rm -rf {} |;
[root@clients171 ~]# crontab -l
no crontab for root
[root@clients171 ~]# crontab aaa
[root@clients171 ~]# crontab -l
0 10 * * 1 find / -name '*.txt' 2>/dev/null > /home/neopark/list.txt
20 11 * * 1-5 find /home/neopark -name '*.bak' -exec rm -rf {} |;
'로그 저장소 :) > 리눅스.Linux' 카테고리의 다른 글
Linux 도움말 (0) | 2009.07.30 |
---|---|
가상메모리(Swap) (0) | 2009.07.28 |
Linux Network Setting (0) | 2009.07.27 |
Linux Mount(unmount) & File System (0) | 2009.07.27 |
LVM (0) | 2009.07.24 |