Skip to main content

작업 예약을 위해 Linux Crontab 파일을 편집하는 방법

Linux - Time based job schedule cron 1 : usage (유월 2025)

Linux - Time based job schedule cron 1 : usage (유월 2025)
Anonim

리눅스의 데몬이 불렀다. 크론 정기적 인 프로세스를 실행합니다. 시스템의 특정 폴더에서 /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly 및 /etc/cron.monthly와 같은 일련의 폴더에서 스크립트가 실행되는지 검사합니다. / etc / crontab이라는 파일도 있습니다.

Cron 폴더에 스크립트 배치

스크립트를 관련 폴더에 배치하여 규칙적으로 실행되도록 할 수 있습니다.

예를 들어, 터미널 창을 열고 다음 ls 명령을 실행하십시오.

ls / etc / cron *

매시간, 매일, 매주 및 매월 실행되는 프로그램 또는 스크립트 목록이 표시됩니다.

이 폴더의 문제점은 다소 모호하다는 것입니다. 예를 들어, 매일 스크립트가 하루에 한 번 실행되지만 해당 날짜에 스크립트가 실행되는 시간을 제어 할 수 없음을 의미합니다.

그것이 crontab 파일이 들어오는 곳입니다.

crontab 파일을 편집하면 원하는 날짜와 시간에 스크립트 나 프로그램을 실행할 수 있습니다.

권한

crontab 명령을 사용하려면 사용자가 crontab 파일을 편집 할 수있는 권한이 있어야합니다. 기본적으로 crontab 권한을 관리하는 데 사용되는 두 개의 파일이 있습니다.

  • /etc/cron.allow
  • /etc/cron.deny

/etc/cron.allow 파일이 있으면 crontab 파일을 편집하려는 사용자가 해당 파일에 있어야합니다. cron.allow 파일이 없지만 /etc/cron.deny 파일이 있으면 사용자는 해당 파일에 존재해서는 안됩니다. 두 파일이 모두 존재하면 /etc/cron.allow는 /etc/cron.deny 파일을 겹쳐 씁니다. 두 파일이 모두 존재하지 않으면 사용자가 crontab을 편집 할 수 있는지 여부에 따라 시스템 구성에 따라 다릅니다.

루트 사용자는 항상 crontab 파일을 편집 할 수 있습니다. su 명령을 사용하여 루트 사용자로 전환하거나 sudo 명령을 사용하여 crontab 명령을 실행할 수 있습니다.

Crontab 파일 편집

적절한 권한을 가진 각 사용자는 고유 한 crontab 파일을 만들 수 있습니다. cron 명령은 기본적으로 모든 crontab 파일을 찾아 각각을 실행합니다.

crontab 파일이 있는지 확인하려면 다음 명령을 실행하십시오.

crontab -l

crontab 파일이 없다면 "no crontab for "이 표시됩니다. 그렇지 않으면 crontab 파일이 표시됩니다 (이 기능은 시스템마다 다르며 때로는 아무것도 표시하지 않고"이 파일을 편집하지 마십시오 "라고 표시합니다).

crontab 파일을 만들거나 편집하려면 다음 명령을 실행하십시오.

crontab -e

열리는 파일에는 많은 정보가 있지만 중요한 부분은 주석 섹션이 끝나기 직전의 예입니다 (주석은 #로 시작하는 줄로 표시됩니다).

# m h dom mon dow 명령

0 5 * * 1 tar -zcf /var/backups/home.tgz/ home /

crontab 파일의 각 행에 맞는 6 가지 정보가 있습니다.

  • 명령이 실행되는 날의 분 (m)
  • 명령이 실행되는 시간 (h)
  • 명령 실행 날짜 (돔)
  • 명령을 실행할 달 (월)
  • 명령이 실행되는 요일 (다우)
  • 명령

명령을 제외한 각 항목에 대해 와일드 카드 문자를 지정할 수 있습니다. 다음 예제 crontab 줄을보십시오.

30 18 * * * tar -zcf /var/backups/home.tgz/ home /

30 분, 18 시간 및 모든 요일, 월 및 요일에이 crontab 항목은 홈 디렉토리를 / var / backups 폴더로 압축하여 tar합니다.

매시간 30 분마다 명령을 실행하려면 다음 명령을 실행하십시오.

30 * * * 명령

지난 6시 이후에 매분마다 명령을 실행하려면 다음 명령을 실행하십시오.

* 18 * * 명령

따라서 crontab 명령 설정에주의해야합니다.

예 :

* * * 1 * 명령

이 명령은 1 월에 매주 매일 매 시간마다 실행됩니다.

1 월 1 일 오전 5시에 명령을 실행하려면 crontab 파일에 다음 명령을 입력하십시오.

0 5 1 1 * 명령

Crontab 파일을 제거하는 방법

대부분의 경우 crontab 파일을 제거하고 싶지는 않지만 crontab 파일에서 일부 행을 제거하고자 할 수 있습니다.

그러나 사용자의 crontab 파일을 제거하려면 다음 명령을 실행하십시오.

crontab -r

이렇게하는 더 안전한 방법은 다음 명령을 실행하는 것입니다.

crontab -i

운영 체제는 crontab 파일을 제거하기 전에 확인을 요청합니다.