[리눅스] cron 사용법

Code/Web 2019. 11. 26. 05:31


- 크론 : 정기적으로 자동실행, 스케줄링


* 작업 조회
crontab -l
sudo crontab -u username -l


* 작업 수정
crontab -e
sudo crontab -u username -e
sudo crontab -u www-data -e


$ crontab -d  # 등록된 내용을 삭제
$ crontab -r  #  현재 사용자의 예약작업을 모두 삭제


//-------------------------
* 라라벨 스케줄 작업 등록
- 라라벨의 스케줄 모듈 기능을 활성화하도록 하는 크론 설정

* * * * * cd /project_folder && php artisan schedule:run >> /dev/null 2>&1


//------------------------------
* 명령형식
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday;
# │ │ │ │ │                                   7 is also Sunday on some systems)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * command to execute


//--------------
* 설정 예시
* * * * * /root/every_1min.sh
→ 매 1분마다 /root/every_1min.sh 를 수행 (하루에 1440회[2])
15,45 * * * * /root/every_30min.sh
→ 매시 15분, 45분에 /root/every_30min.sh 를 수행 (하루에 48회[3])
*/10 * * * * /root/every_10min.sh
→ 10분마다 /root/every_10min.sh 를 수행 (하루에 144회[4])
0 2 * * * /root/backup.sh
→ 매일 02:00에/root/backup.sh 를 수행 (하루에 1회)
30 */6 * * * /root/every_6hours.sh
→ 매 6시간마다 수행(00:30, 06:30, 12:30, 18:30)
30 1-23/6 * * * /root/every_6hours.sh
→ 1시부터 매 6시간마다 수행(01:30, 07:30, 13:30, 19:30)
0 8 * * 1-5 /root/weekday.sh
→ 평일(월요일~금요일) 08:00
0 8 * * 0,6 /root/weekend.sh
→ 주말(일요일, 토요일) 08:00


//-----------------
* 작동 로그 확인
- 실시간 확인
sudo tail -F /var/log/syslog



//--------------------
//참고
https://brownbears.tistory.com/15
https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%B0%98%EB%B3%B5_%EC%98%88%EC%95%BD%EC%9E%91%EC%97%85_cron,_crond,_crontab


Posted by 코덴스

댓글을 달아 주세요