리눅스마스터2급강좌 : 사용자별 cron 설정
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 3,351 조회
- 0 추천
- 목록
본문
리눅스마스터2급강좌 : 사용자별 cron 설정
사용자별 cron 기능 설정
crontab 명령은 root를 포함하여 사용자별로 cron에 해당되는 작업을 등록 및 수정할 수 있도록 한다.
명령 방식은 다음과 같다.
|
|
|
| crontab [-u user] { -l -r -e } |
|
|
|
|
crontab과 함께 사용할 수 있는 옵션은 다음과 같다.
옵션 | 설명 |
-u | 이 옵션 다음에는 사용자 명이 온다.
이 옵션은 root 권한으로만 사용할 수 있다.
root는 다른 사용자에 관한 설정을 해야 될 필요가 있다. |
-l | 현재 사용자가 개별 crontab 파일로 등록해 놓은 작업 리스트를 출력해 준다. |
-r | 현재 사용자가 개별 crontab 파일로 등록해 놓은 작업을 삭제한다. |
-e | 개별 crontab 파일로 등록하고 싶은 작업을 등록한다. |
현재 사용자가 cron 작업을 등록하려면 -e 옵션을 사용하여 다음과 같이 명령을 실행한다.
그러면 vi 모드로 편집할 수 있는데, 편집 방법은 vi 명령과 동일하다.
|
|
|
| $ crontab -e |
|
|
|
|
그리고 root는 –u 옵션을 사용하여 다른 사용자의 cron 작업을 등록할 수 있다.
|
|
|
| $ crontab -u bible -e |
|
|
|
|
예를 들어 time 서버에 rdate 명령을 이용해 매일 0시 0분에 시간을 가져와서 세팅을 하기 위해 다음과 같이 설정한다.
|
|
|
| 0 0 * * * /usr/bin/rdate time.bora.net |
|
|
|
|
앞부분의 “0 0 * * *”은 /etc/crontab의 설정과 동일하게 각 부분이 분, 시, 날짜, 달, 요일에 따른 설정이고, 뒷부분은 실행할 명령이다.
여기서 * 문자 부분에 시간을 지정하면 매번 지정된 시간에 명령이 실행이 됨을 의미하고, *로 설정하면 허용된 값의 처음부터 끝까지를 의미한다.
다음은 매년 1월 1일 0시 0분에 사용자들에게 매시지를 보낸다.
|
|
|
| 0 0 1 1 * /usr/bin/wall happy new year! |
|
|
|
|
다음은 5분마다 echo 명령어를 실행하여 메시지를 콘솔에 뿌려준다.
|
|
|
| 0,5,10,15,20,25,30,35,40,45,50,55 * * * * echo '5분이 지났습니다' |
|
|
|
|
“:wq”로 설정을 마치면 /var/spool/cron 디렉토리에 사용자 이름의 파일이 생성된다.
|
|
|
| # ls /var/spool/cron bible root # |
|
|
|
|
다음은 설정을 마친 후에 –l 옵션을 사용하여 사용자별 crontab 파일에 설정된 내용을 확인하고, -r 옵션을 이용하여 이 내용을 삭제한 후에 다시 설정 내용을 확인한 것이다.
|
|
|
| # crontab -l * */2 * * * echo '2시간이 지났습니다' # crontab –r # crontab -l no crontab for bible # |
|
|
|
|
root는 다른 사용자에 대해 –u 옵션을 사용하여 위와 같은 작업을 할 수 있다.
|
|
|
| # crontab –u bible -l * */2 * * * echo '2시간이 지났습니다' # crontab –u bible –r # crontab –u bible -l no crontab for bible # |
|
|
|
|
관련자료
-
이전
-
다음