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

소개

리눅스에는 일정한 간격으로 프로세스를 실행하는 데 사용되는 cron이라는 데몬이 있습니다.

스크립트가 실행되도록 시스템의 특정 폴더를 검사하는 것입니다. 예를 들어 /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly 및 /etc/cron.monthly라는 폴더가 있습니다. / etc / crontab이라는 파일도 있습니다.

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

예를 들어 CTRL, ALT 및 T를 눌러 터미널 창을 열고 다음의 ls 명령을 실행하십시오.

ls / etc / cron *

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

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

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

crontab 파일을 편집하면 원하는 날짜와 시간에 스크립트 나 프로그램을 실행할 수 있습니다. 예를 들어 오후 6시에 매일 밤 파일을 백업하고 싶을 수도 있습니다.

권한

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

/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

기본적으로 기본 편집기가 선택되어 있지 않으면 사용할 기본 편집기를 선택하라는 메시지가 표시됩니다. 개인적으로 나는 사용하기에 상당히 직선적이며 터미널에서 실행되므로 나노 를 사용하는 것을 좋아합니다.

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

# mh dom mon dow 명령

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

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

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

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

위의 명령어가 말하는 것은 30 분, 18 시간 그리고 어느 날, 매일, 매월, 매일은 홈 디렉토리를 / var / backups 폴더로 압축 하고 압축 하는 명령을 실행합니다.

매시간 30 분에 명령을 실행하려면 다음 명령을 실행할 수 있습니다.

30 * * * 명령

오후 6시 이후에 매분마다 명령을 실행하려면 다음 명령을 실행할 수 있습니다.

* 18 * * 명령

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

예를 들면 :

* * * 1 * 명령

위의 명령은 1 월에 매주 매일 매시간마다 실행됩니다. 나는 그것이 당신이 원하는 것이라고 의심합니다.

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

0 5 1 1 * 명령

Crontab 파일을 제거하는 방법

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

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

crontab -r

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

crontab -i

이 질문에 "너 괜찮 니?"라고 묻습니다. crontab 파일을 제거하기 전에.