[리눅스] cron 사용법

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


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


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

 

    - 모든 사용자의 crontab 작업 보기 명령
for user in $(cut -f1 -d: /etc/passwd); do sudo crontab -u $user -l; done



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


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


//-----------------------------------------------------------------------------
* 라라벨 스케줄 작업 등록 (laravel schedule , 스케줄링, 스케줄러)
    - 라라벨의 스케줄 모듈 기능을 활성화하도록 하는 크론 설정
$ sudo crontab -u www-data -e


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

 

    - 확인

$ sudo crontab -u www-data -l

 


    - 라라벨 스케줄 리스트
php artisan schedule:list

    - 설정된 작업 테스트
php artisan schedule:test
        - 실행할 작업 선택



//-----------------------------------------------------------------------------
* 명령형식
# ┌───────────── 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


//--------------
* 설정 예시
* * * * * /cmd.sh
→ 매 1분마다 /cmd.sh 를 실행 

 

15,45 * * * * /cmd.sh
→ 매시 15분, 45분에  실행

 

*/10 * * * * /cmd.sh
→ 10분마다  실행

 

0 2 * * * /cmd.sh
→ 매일 02:00에 실행


30 */6 * * * /cmd.sh
→ 매 6시간마다  실행

 

30 1-23/6 * * * /cmd.sh
→ 1시부터 매 6시간마다  실행

 

0 8 * * 1-5 /cmd.sh
→ 평일(월요일~금요일) 08:00 마다  실행

 

0 8 * * 0,6 /cmd.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 codens