[리눅스] crontab에서 사용자 이름 때문에 작업을 수행하지 못하는 문제
페이지 정보
작성자 서방님 댓글 0건 조회 175회 작성일 13-07-26 13:52본문
내용 : /bin/bash: root: command not found
위 편지는 /etc/cron.hourly에 등록된 작업들을 실행하지 못했음을 알리고 있다. crontab에 등록한 작업 목록의 형식이 잘못되어 있으면 이런 편지가 자꾸 올 수 있다.
이럴 때에 crontab -e로 본 작업 목록은 다음과 같은 꼴일 것이다.
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
흔히 알려진 crontab 등록 형식은 '분 시 날 달 요일 해 사용자 시킴말'이다.주1 위 작업 목록이 /etc/crontab 파일에 담겨 있다면, 'crontab /etc/crontab'으로 작업 목록을 crontab에 넣을 때는 문제가 없다. 파일로 작업 목록을 넣을 때는 각 작업을 수행하는 서로 다르게 할 수 있다.
하지만 'crontab -e'로 편집할 때는 crontab이 지금 접속한 사용자를 예약 작업을 올리는 사용자로 여긴다. 그래서 사용자 이름을 뺀 '분 시 날 달 요일 해 시킴말' 꼴로 넣어야 한다. 사용자 이름(root)이 들어가면 crontab이 사용자 이름을 시킴말로 받아들이므로, 리눅스는 그런 시킴말을 찾을 수 없다고 알린다.
crontab -e로 넣는 작업 목록은 아래처럼 사용자 이름(root)을 빼야 한다.
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * run-parts /etc/cron.hourly
02 4 * * * run-parts /etc/cron.daily
22 4 * * 0 run-parts /etc/cron.weekly
42 4 1 * * run-parts /etc/cron.monthly
<주석>
댓글목록
등록된 댓글이 없습니다.