웹사이트 검색

Linux에서 Cron 작업을 생성하고 관리하는 방법


Cron은 범용 및 작업별 스크립트를 모두 사용하여 특정 기간, 날짜 및 간격으로 자동화된 명령을 실행할 수 있게 해주기 때문에 Linux의 가장 유용한 도구 중 하나이며 개발자가 가장 선호하는 도구입니다. 이러한 설명을 보면 시스템 관리자가 이를 사용하여 백업 작업, 디렉터리 정리, 알림 등을 자동화하는 방법을 상상할 수 있습니다.

Cron 작업은 백그라운드에서 실행되며 /etc/crontab 파일, /etc/cron.*//var/spool/cron/을 지속적으로 확인합니다. 디렉토리. cron 파일은 직접 편집할 수 없으며 각 사용자는 고유한 crontab을 갖습니다.

그러면 크론 작업을 어떻게 생성하고 편집해야 합니까? crontab 명령을 사용합니다. crontab은 cron 작업을 생성, 편집, 설치, 제거 및 나열하는 데 사용하는 방법입니다.

크론 작업을 생성하고 편집하는 명령은 동일하고 간단합니다. 그리고 더욱 멋진 점은 새 파일을 생성하거나 기존 파일을 편집한 후 cron을 다시 시작할 필요가 없다는 것입니다.


crontab -e

크론 구문

모든 언어와 마찬가지로 cron 구문을 이해하고 알아야 할 두 가지 형식이 있으면 cron을 사용하여 작업하는 것이 훨씬 쉽습니다.


A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh

위 cron 구문에 대한 설명:

  • A: 분 범위: 0 – 59
  • B: 시간 범위: 0 – 23
  • C: 일 범위: 0 – 31
  • D: 월 범위: 0 – 12
  • E: 요일 범위: 0 – 7. 월요일부터 시작하여 0 또는 7은 일요일을 나타냅니다.
  • USERNAME: 이를 귀하의 사용자 이름으로 바꾸십시오.
  • /path/to/command – 예약하려는 스크립트 또는 명령의 이름

그게 다가 아닙니다. Cron은 필드에 여러 값을 지정할 수 있는 3개의 연산자 기호를 사용합니다.

  1. 별표 (*): 필드에 가능한 모든 값을 지정합니다.
  2. 쉼표 (,): 값 목록을 지정합니다.
  3. 대시 (-): 값 범위를 지정합니다.
  4. 구분 기호 (/):는 단계 값을 지정합니다.

이제 Cron의 구문과 연산자를 알았으니 몇 가지 cron 예제를 살펴보겠습니다.

크론 작업 예

cron 명령을 실행하는 첫 번째 단계는 다음 명령을 사용하여 crontab을 설치하는 것입니다.


crontab -e

매일 오전 3시/root/backup.sh를 실행합니다.


0 3 * * * /root/backup.sh

매월 2일 오후 4시 30분script.sh를 실행합니다.

30 16 2 * * /path/to/script.sh

주중 오후 10시/scripts/phpscript.php를 실행합니다.

0 22 * * 1-5 /scripts/phpscript.php

매일 자정, 오전 2시, 오전 4시 23분perlscript.pl을 실행합니다.

23 0-23/2 * * * /path/to/perlscript.pl

매주 일요일 04:05에 Linux 명령을 실행합니다.

5 4 * * sun /path/to/linuxcommand

크론 옵션

크론 작업을 나열합니다.


crontab -l
OR
crontab -u username -l

모든 crontab 작업을 삭제합니다.

crontab -r

특정 사용자에 대한 Cron 작업을 삭제합니다.


crontab -r -u username

Crontab의 문자열

문자열은 반복적인 작성을 제거하여 시간을 절약하는 데 도움이 되기 때문에 개발자가 가장 좋아하는 것 중 하나입니다. Cron에는 명령을 더 빠르게 생성하는 데 사용할 수 있는 특정 문자열이 있습니다.

  1. @hourly: 매시간 한 번씩 실행(예: “0 * * * *“)
  2. @midnight: 매일 한 번 실행(예: “0 0 * * *“)
  3. @daily: 자정과 동일
  4. @weekly: 매주 한 번 실행(예: '0 0 * * 0“)
  5. @monthly: 매달 한 번 실행(예: “0 0 1 * *“)
  6. @annually: 매년 한 번 실행(예: "0 0 1 1 *")
  7. @연간: @연간과 동일
  8. @reboot: 시작할 때마다 한 번 실행

예를 들어, 매일 시스템을 백업하는 방법은 다음과 같습니다.

@daily /path/to/backup/script.sh

이제 Cron을 사용하여 시스템 작업을 생성하고 관리하는 데 필요한 모든 것이 준비되었습니다. 이제 예약된 명령을 사용하여 여러 환경을 설정하고 유지 관리할 수 있습니다.

귀하는 Cron을 얼마나 사용하시나요? 그리고 기사에 기여할 수 있는 세부 사항이 있나요? 토론 상자는 아래와 같습니다.

Crontab의 작동 방식을 충분히 이해하면 멋진 Crontab 생성 유틸리티를 사용하여 무료로 crontab 라인을 생성할 수 있습니다.

또한 여기에서 Cron 사용 방법에 대한 Ubuntu의 기사를 읽을 수 있습니다. 여기에는 유용할 수 있는 리소스가 있습니다.