반응형
crontab
은 리눅스나 유닉스 시스템에서 주기적으로 명령어를 실행할 수 있도록 하는 도구입니다. 이를 통해 특정 시간, 일, 주, 월, 년 단위로 명령어나 스크립트를 자동으로 실행할 수 있습니다. 사용법은 다음과 같습니다.
1. crontab
파일 열기
터미널에서 아래 명령어를 입력하여 현재 사용자에 대한 crontab
편집을 시작할 수 있습니다.
crontab -e
이 명령어를 실행하면 편집기가 열리면서 crontab
파일을 수정할 수 있게 됩니다.
2. crontab
형식
crontab
파일에 추가하는 각 줄은 일정 시간마다 실행할 명령어로 구성됩니다. 형식은 다음과 같습니다.
분 시 일 월 요일 명령어
- 분: 0부터 59까지의 숫자
- 시: 0부터 23까지의 숫자 (24시간제)
- 일: 1부터 31까지의 숫자 (해당 월의 날짜)
- 월: 1부터 12까지의 숫자 (또는 Jan, Feb 등으로 월을 지정)
- 요일: 0부터 7까지의 숫자 (0과 7은 일요일, 또는 Sun, Mon 등으로 요일 지정)
- 명령어: 실행할 명령어나 스크립트 경로
3. 예시
다음은 몇 가지 예시입니다.
- 매 시간마다: 매 시간마다
example.sh
스크립트를 실행 0 * * * * /path/to/example.sh
- 매일 자정에: 매일 자정(00:00)에
backup.sh
스크립트를 실행 0 0 * * * /path/to/backup.sh
- 매주 월요일 오전 8시 30분에: 매주 월요일 오전 8시 30분에
weekly_report.sh
스크립트를 실행 30 8 * * 1 /path/to/weekly_report.sh
- 매일 10분마다: 매일 10분마다
monitor.sh
스크립트를 실행 */10 * * * * /path/to/monitor.sh
4. crontab
확인 및 삭제
- 현재 사용자 crontab 확인:
crontab -l
- 현재 사용자 crontab 삭제:
crontab -r
crontab
에서 2개월에 한 번 실행되도록 설정할 수는 있지만, crontab
은 특정 월을 주기적으로 지정하는 기능이 없어서 이를 직접 표현하기는 어렵습니다. 하지만 매 짝수 월에 실행하는 방식으로 해결할 수 있습니다. 아래 예제를 통해 다양한 시간 설정과 2개월에 한 번 동작하는 예제를 설명하겠습니다.
5. 다양한 시간 설정 예제
- 매일 오전 6시에 스크립트 실행
0 6 * * * /path/to/script.sh
- 매주 월요일 오전 8시에 스크립트 실행
0 8 * * 1 /path/to/script.sh
- 매일 30분마다 스크립트 실행
*/30 * * * * /path/to/script.sh
- 매달 1일 자정에 스크립트 실행
0 0 1 * * /path/to/script.sh
6. 2개월에 한 번 동작하는 설정 예제
2개월에 한 번 동작하게 하려면 crontab
에서 월을 짝수 월로 설정하여 해결할 수 있습니다. 예를 들어, 2월, 4월, 6월 등 짝수 월에 특정 일시에 스크립트를 실행하도록 설정할 수 있습니다.
짝수 월의 1일 자정에 스크립트 실행 (2, 4, 6, 8, 10, 12월에 실행)
0 0 1 */2 * /path/to/script.sh
이 설정은 매 2개월마다 한 번씩, 즉 짝수 월의 1일 자정에 해당 스크립트를 실행하게 됩니다.
이와 같이 crontab
을 사용하여 원하는 시간에 자동으로 명령어를 실행할 수 있습니다.
반응형
'Linux Unix' 카테고리의 다른 글
[ Linux ] Linux 시스템에서 UTC를 사용하는 이유 알아보기 (0) | 2024.12.23 |
---|---|
[ Linux ] ufw, nmap, iptables - 특정 포트가 방화벽에 막혀 있는 지 확인하기 (0) | 2024.11.05 |
[ Linux ] service 등록 (2) - 서비스 파일 옵션 알아보기 (2) | 2024.10.21 |
[ Linux ] service 등록 (1) - 서비스로 등록해서 서버 (Daemon) 사용하기 (0) | 2024.10.21 |
[ Linux ] service 등록 - bash script를 서비스로 등록하기 (0) | 2024.10.21 |