어느 날 갑자기 cron을 설정했습니다.
개요
서버의 종료를 잊을 수 있기 때문에, 종료를 하기 위한 cron을 설정해 주었으면 하는 것이었다.
환경: centos 6.5
cron이란?
지정 시간이나 시간마다(1시간 단위 등)에 프로그램을 실행할 수 있다.
crontab 명령으로 설정하는 방법과
/etc/cron.d/
아래에 설정 파일을 배치하여 설정하는 방법이 있다.crontab에서 설정하는 경우,
crontab -e
로 설정을 써, crontab -l
로 설정 일람을 볼 수 있다.crontab -r
를 사용하면 모든 설정이 삭제되므로 (타입 실수 등이 무서운) 두 번째 파일에 설명하는 방법이 더 좋습니다.crontab에서 설정
1. hello를 1분마다 출력하는 설정을 쓴다
시작하기 전에 작동 확인
crontab -e
를 입력하여 편집 모드로 들어갑니다. vim 등으로 파일이 열리므로, 설정을 기재한다*/1 * * * * echo "hello" >> /home/vagrant/hello0101.txt
위를 저장하고 cron을 다시 시작하면/home/vagrant 아래의 hello0101.txt에 매분 쓰여지는 것을 확인할 수 있다
2. 24시에 종료하는 설정
파일 권한은 644로 변경해 둔다.
/home/vagrant/shutdown.sh
shutdown.sh
#!/bin/bash
sudo shutdown -h now
crontab -e로 다음을 씁니다.
00 * * * * /home/vagrant/shutdown.sh
cron 재부팅
/etc/cron.d/ 아래에 구성 파일을 놓고 실행
1. 24시에 종료하는 설정
파일 권한은 644로 변경해 둔다.
실행 파일
/home/vagrant/shutdown.sh
shutdown.sh
#!/bin/bash
sudo shutdown -h now
/etc/cron.d 아래에 cron 구성 파일 배치
이름은 적당히 좋기 때문에 이번에는 shutdown
/etc/cron.d/shutdown 파일을 만들고 다음을 씁니다.
SHELL=/bin/bash
MAILTO=""
00 * * * * root /home/vagrant/shutdown.sh
cron 재부팅
로그 확인
cat /var/log/cron
cron 재부팅
service crond restart
or
/etc/rc.d/init.d/crond restart
or
/etc/init.d/cron restart
(debian?)
설정 서식
crontab에서 설정
分 時 日 月 曜日 コマンド
파일에서 설정
分 時 日 月 曜日 ユーザー コマンド
Reference
이 문제에 관하여(어느 날 갑자기 cron을 설정했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yasuaki0206/items/306c859f0854dd0cfabf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)