Linux
Crontab 설치 및 사용 설정
nineDeveloper
2021. 7. 9. 15:34
728x90
Crontab 설치 - CentOS
# cron 설치
sudo yum update -y
sudo yum install -y cronie
# cron 시작
sudo systemctl start crond
# cron systemctl 활성화
sudo systemctl enable crond
# cron systemctl 등록 확인
sudo systemctl list-unit-files | grep crond
Crontab 설치 - Ubuntu
# cron 설치
sudo apt update -y
sudo apt install -y cron
# cron 시작
sudo service cron start
# cron systemctl 활성화
sudo systemctl enable cron.service
# cron systemctl 등록 확인
sudo systemctl list-unit-files | grep cron
sudo service cron status
Crontab 사용방법
Crontab 명령어
# Crontab 편집
crontab -e
# Crontab List 조회
crontab -l
# Crontab List 전체 삭제
crontab -r
Crontab 추가 형식
minute hour day month weekday command
- minute : 0 - 59
- hour : 0 - 23
- day : 1 - 31
- month : 1 - 12
- weekday : 0 - 6 (0 : 일요일)
- command : 수행하려는 작업 명령어
Crontab 사용 예제
# 매분마다 /land/disk_alarm/disk_alarm.sh를 실행하고 로그는 /dev/null로 전송
* * * * * /land/disk_alarm/disk_alarm.sh &>/dev/null
# 매일 1시에 rsync로 /backup/ Folder를 backup.server.com의 backup계정의 홈폴더로 백업
# 이때 rsync는 절대 경로를 사용.
0 1 * * * /usr/bin/rsync -az /backup/ backup@backup.server.com:. &> /dev/null
# system_chk.sh 를 월 ~ 금요일 매 5분마다 실행
*/5 * * * 1-5 /home/service/system_chk.sh
# system_chk.sh를 매분 실행 이때 HOST라는 환경변수는 hostname명령어로 가져와 사용한다.
# 추가로 crontab의 전체 환경 변수를 지정하고 싶을 경우 crontab -e로 수정 후 맨 윗줄에 환경 변수를 지정
* * * * * HOST=$(hostname) /home/service/system_chk.sh
Crontab Editor 변경
초기에 잘못 설정한 Crontab Editor 다시 설정하는 방법
select-editor
# 기본으로 nano가 선택되어있음, 익숙한 editor로 변경
Select an editor. To change later, run 'select-editor'.
1. /bin/ed
2. /bin/nano <---- easiest
3. /usr/bin/code
4. /usr/bin/vim.basic
5. /usr/bin/vim.tiny
Choose 1-5 [2]:
728x90