반응형
1. crontab 이란?
간단히 말해 등록한 시간에 자동으로 명령을 실행해주는 unix계 데몬입니다.
로그 로테이션이나 백업 등 정기적으로 자동 수행하는 경우 많이 사용하며, 백업 같은 작업은 시스템에 부하가 크기 때문에 일반적으로 cron을 이용해 사용자의 액세스가 적은 늦은 밤이나 새벽에 이루어집니다.
2. crontab 옵션
crontab -u user crontab 사용자 지정(root 사용자가 특정 사용자의 crontab파일을 다룰 때 사용)
crontab -e crontab 파일을 작성하거나 편집
crontab -l crontab -e 에서 설정한 내용 표시
crontab -r crontab 파일 삭제
crontab -i crontab -r 과 똑같지만 삭제하기 전에 예/아니오 확인 메시지 표시
3. cron 설정 방법
crontab -e 명령어로 설정파일 편집
crontab -e
분 시 일 월 요일 실행 명령어 순으로 설정 가능합니다.
분 | 시 | 일 | 월 | 요일 | 실행 명령어 |
0~59 | 0~23 | 1~13 | 1~12 | 0~7 | ex) backup.php |
요일 설정은 0~7 까지 입력 가능합니다.
일 | 월 | 화 | 수 | 목 | 금 | 토 |
0 or 7 | 1 | 2 | 3 | 4 | 5 | 6 |
매일 오전4시에 백업 파일을 실행하는 명령어를 작성해봅시다.
설정 후 :wq로 저장해줍니다
00 4 * * * php /var/www/bin/backup.php
crontab -l 로 확인하기
crontab -e 에서 설정한 내용이 그대로 표시됩니다.
crontab -l
00 4 * * * php /var/www/bin/backup.php
4. 사용 예제
* , - / 를 이용해서 원하는 시간 설정이 가능합니다.
- 매분 실행
# 매분 마다 실행
* * * * * /var/www/test.sh
- 특정 시간 실행
# 매주 월요일 오전 4시 10분에 실행
10 4 * * 1 /var/www/test.sh
# 매월 1일 5시에 실행
00 5 1 * * /var/www/test.sh
# 매년 1월 1일 4시에 실행
00 4 1 1 * /var/www/test.sh
- 반복 실행
# 매시간 0분,20분, 40분에 실행
0,20,40 * * * * /var/www/test.sh
# /를 사용해서 설정(20분 마다 실행)
*/20 * * * * /var/www/test.sh
- 범위 실행
# 매일 3시부터 3시 30분까지 매분 실행
0-30 3 * * * /var/www/test.sh
- 특정 여러 시간 실행
# 1일에서 3일까지 3시 4시 5시에 20분 마다 실행
*/20 3,4,5 1-3 * * /var/www/test.sh
5. crontab 로그
crontab 실행 로그
# crontab 로그 확인
cat /var/log/cron
# 실시간 로그 확인
tail -f /var/log/cron
실행결과를 특정 파일에 저장하기
# /var/www/result.txt 파일에 저장하기
* * * * * /var/www/test.sh > /vaw/www/result.txt 2>&1
# 로그 남기지 않기
* * * * * /var/www/test.sh > /dev/null 2>&1
반응형
'OS > LINUX' 카테고리의 다른 글
at 명령어 사용법 linux 예약작업 (0) | 2020.06.02 |
---|---|
NFS 파일공유 폴더공유 리눅스 (0) | 2020.05.22 |
댓글