다음 이전 차례

10. Delayed commands cron and at

10.1 cron

Cron 은 주기적으로 /etc/crontab과 유저가 정의한 crontabs안의 명령을 실행하는 명령어이다. 데비안 1.3 에는 /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly 파일들로써 표준적인 기능을 수행하게 된다. Cron 은 부트 스트립트에서 시작되나 자신의 path를 조금은 생소한 것으로 바꾼다. 즉,

/usr/bin:/binn:/sbin:/bin:/usr/sbin:/usr/bin 이건 cron 의 버그인 것 같다!!! init 의 path에다 앞부분에 /usr/bin:/bin을 덮어 써버린 것이다! 이 버그는 다른 모든 시스템에 존재하는 것은 아니다. crontab 에는 path 정의를 할 수 있는데, 데비안 1.3에는 /etc/crontab 의 앞부분에 다음의 기본 설정 라인이 있다.

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 이 것으로인해, crond 프로그램의 PATH는 유저 프로그램에서는 적용되지 않으며, /etc.cron* 디렉토리의 모든 스트립트들은 이 패스를 기본으로 사 용한다. 심지어 프로그램의 실행자가 root가 아니라 일반사용자일 경우에도 crond 프로그램은 이 패스를 사용한다.

10.2 at

at 는 특정한 시간에 프로그램을 한번 실행하기 위해 사용하는 명령어이다.

atd 는 init 의 패스를 사용하나, 유저들의 프로그램은 sh 명령어로 항상 유 저의 환경하에서 수행되어진다. 그러므로 shell 에 의해 환경변경이 적용되 어진다. bash 에 관한 글을 읽어보라.


다음 이전 차례