그만큼 크론탭 정기적으로 실행하려는 명령 목록과 해당 목록을 관리하는 데 사용되는 명령의 이름입니다. Crontab은 작업 스케줄러 cron을 사용하여 작업을 실행하므로 cron 테이블을 의미합니다. 크론 그 자체는 시간을 뜻하는 그리스어인 크로노스(chronos)의 이름을 따서 명명되었습니다. cron은 설정된 일정에 따라 자동으로 작업을 수행하는 시스템 프로세스입니다. 일정을 crontab이라고 하며, 이는 해당 일정을 편집하는 데 사용되는 프로그램의 이름이기도 합니다.
Linux Crontab 구문
Linux Crontab 형식은 다음 구문으로 표시됩니다.
MIN HOUR DOM MON DOW CMD>
각 필드를 분석해 보겠습니다.
| 필드 | 설명 | 허용되는 값 |
|---|---|---|
| MIN(분) | 명령이 실행되는 분을 지정합니다. | 범위는 0부터 59까지입니다. |
| 시간 | 명령이 실행되도록 예약된 시간을 나타냅니다. | 0부터 23까지입니다. |
| DOM(월의 일) | 작업의 날짜를 지정합니다. | 1부터 31까지입니다. |
| 월(월) | 명령이 실행되는 월을 나타냅니다. | 1부터 12까지 다양합니다. |
| DOW(요일) | 작업의 요일을 지정합니다. | 0부터 6까지의 숫자로 표시되며, 0과 6은 모두 일요일에 해당합니다. |
| CMD(명령) | 예약된 시간에 실행될 실제 명령이나 스크립트를 나타냅니다. | —————– |
크론 작업의 예
1. 특정 시간 동안 작업 일정 잡기
cron의 기본 사용법은 아래와 같이 특정 시간에 작업을 실행하는 것입니다. 그러면 6월 10일 오전 8시 30분에 전체 백업 셸 스크립트(전체 백업)가 실행됩니다. 시간 필드는 24시간 형식을 사용합니다. 따라서 오전 8시에는 8을 사용하고 오후 8시에는 20을 사용합니다.
30 08 10 06 * /home/maverick/full-backup>
30 – 30분 오전 08 – 08 오전 10 – 10일 06 – 6번째 달 (6월) * – 매주 매일
2. Crontab 항목을 보려면
- 현재 로그인한 사용자의 Crontab 항목 보기: crontab 항목을 보려면 unix 계정에서 crontab -l을 입력하세요.

- 루트 Crontab 항목 보기: 루트 사용자(su – root)로 로그인하고 crontab -l을 수행합니다.

- 다른 Linux 사용자의 crontab 항목을 보려면 루트에 로그인하고 -u {username} -l을 사용합니다.

3. Crontab 항목을 편집하려면 현재 로그인한 사용자의 Crontab 항목을 편집합니다.
crontab 항목을 편집하려면 crontab -e를 사용하십시오. 기본적으로 현재 로그인한 사용자 crontab을 편집합니다. 
4. Cron을 사용하여 매분마다 작업을 예약합니다.
이상적으로는 매분 작업을 예약할 필요가 없을 수도 있습니다. 하지만 이 예를 이해하면 다른 예를 이해하는 데 도움이 됩니다.
* * * * * CMD>
*는 가능한 모든 단위를 의미합니다. 즉, 일년 내내 매시간, 매분을 의미합니다. 이 *를 직접 사용하는 것보다 다음과 같은 경우에 매우 유용하다는 것을 알게 될 것입니다. 분 필드에 */5를 지정하면 5분마다를 의미합니다. 분 필드에 0-10/2를 지정하면 처음 10분 동안 2분마다를 의미합니다. 따라서 위의 규칙은 다른 4개 필드 모두에 사용될 수 있습니다.
5. 한 번 이상 작업을 예약하려면(예: 하루에 두 번)
다음 스크립트는 매일 하루에 두 번 증분 백업을 수행합니다. 이 예제에서는 매일 11시와 16시에 지정된 증분 백업 쉘 스크립트(incremental-backup)를 실행합니다. 필드의 쉼표로 구분된 값은 언급된 모든 시간 동안 명령을 실행해야 함을 지정합니다.
00 11, 16 * * * /home/maverick/bin/incremental-backup>
00 – 0분(정시) 오전 11시, 16시 – 11시, 오후 4시 * – 매일 * – 매월 * – 매주 매일
6. 특정 시간 동안 작업을 예약하려면(예: 평일에만)
특정 시간 범위에서 매 시간마다 작업을 예약하려면 다음을 사용하세요.
- 매일 근무 시간 동안 Cron Job : 매일(주말 포함) 오전 9시부터 오후 6시까지 근무 시간 동안 데이터베이스의 상태를 확인하는 예제입니다.
00 09-18 * * * /home/maverick/bin/check-db-status>
- 00 – 0분(정시) 09-18 – 오전 9시, 오전 10시, 오전 11시, 오전 12시, 오후 1시, 오후 2시, 오후 3시, 오후 4시, 오후 5시, 오후 6시 * – 매일 * – 매일 월 * – 매주 매일
- Cron Job 매주 평일 근무 시간 동안 : 이 예시에서는 평일 오전 9시부터 오후 6시까지 매주(토요일 제외) 데이터베이스 상태를 확인합니다.
00 09-18 * * 1-5 /home/maverick/bin/check-db-status>
- 00 – 0분(정시) 09-18 – 오전 9시, 오전 10시, 오전 11시, 오전 12시, 오후 1시, 오후 2시, 오후 3시, 오후 4시, 오후 5시, 오후 6시 * – 매일 * – 매일 1~5월 - 월, 화, 수, 목, 금(매주 평일)
7. 10분마다 백그라운드 Cron 작업을 예약합니다.
10분마다 디스크 공간을 확인하고 싶다면 다음을 사용하세요.
java 배열을 반환하는 방법
*/10 * * * * /home/maverick/check-disk-space>
연중 내내 10분마다 지정된 명령 check-disk-space를 실행합니다. 그러나 특정 시간 동안에만 명령을 실행해야 하거나 그 반대의 경우도 있을 수 있습니다. 위의 예는 이러한 작업을 수행하는 방법을 보여줍니다. 5개 필드에 값을 지정하는 대신 아래와 같이 단일 키워드를 사용하여 지정할 수 있습니다. 위의 5개 필드 대신 재부팅, 자정, 연간, 매시간과 같이 @ 뒤에 키워드를 사용할 수 있는 특별한 경우가 있습니다. Cron 특수 키워드와 그 의미
Keyword Equivalent @yearly 0 0 1 1 * @daily 0 0 * * * @hourly 0 * * * * @reboot Run at startup.>
8. @yearly를 사용하여 매년 첫 번째 순간에 작업을 예약하려면
매년 첫 번째 1분에 작업을 실행하려면 아래와 같이 @yearly cron 키워드를 사용하면 됩니다. 이렇게 하면 1월 1일 00:00에 연간 유지 관리 쉘 스크립트를 사용하여 시스템 연간 유지 관리가 실행됩니다. 매년.
@yearly /home/maverick/bin/annual-maintenance>
9. @monthly를 사용하여 매월 시작되는 Cron 작업을 예약하려면
위의 @yearly와 비슷합니다. 그러나 @monthly cron 키워드를 사용하여 매월 한 번씩 명령을 실행합니다. 그러면 매월 1일 00:00에 쉘 스크립트 테이프 백업이 실행됩니다.
@monthly /home/maverick/bin/tape-backup>
10. @daily를 사용하여 매일 백그라운드 작업을 예약하려면
@daily cron 키워드를 사용하면 매일 00:00에 cleanup-logs 쉘 스크립트를 사용하여 일일 로그 파일 정리가 수행됩니다.
@daily /home/maverick/bin/cleanup-logs 'day started'>
11. @reboot를 사용하여 재부팅할 때마다 Linux 명령을 실행하려면
@reboot cron 키워드를 사용하면 머신이 매번 부팅된 후 지정된 명령이 한 번 실행됩니다.
@reboot CMD>


