Computer >> 컴퓨터 >  >> 스마트폰 >> Linux

Linux/Unix 생산성 향상:crontab 사용 방법

이 자세한 가이드는 crontab 명령을 사용하여 Linux/Unix에서 작업을 예약하는 방법을 설명합니다.

비디오 게임 외에도 컴퓨터 사용의 가장 큰 장점 중 하나는 컴퓨터가 우리가 하고 싶지 않은 지루하고 반복적인 작업을 신경 쓰지 않는다는 것입니다. 일일 백업 실행과 같은 단조로운 작업의 경우 매일 특정 시간에 실행하도록 예약하고 시간에 더 흥미로운 작업을 수행하는 것이 좋습니다. Linux 및 UNIX는 일반적으로 기본적으로 "crontab" 유틸리티와 함께 ​​제공됩니다. 이 매우 유용한 명령을 사용하면 작업이 지정된 시간에 실행되도록 예약하고 구성된 대로 반복할 수 있습니다. "crontab"을 사용하여 예약된 작업을 "크론 작업"이라고 합니다.

crontab 명령을 사용하면 특정 월의 지정된 날짜의 지정된 분에 스크립트를 실행하도록 서버에 지시할 수 있습니다. 컴퓨터에서 실행하도록 설정된 cron 작업을 보려면 다음 명령을 실행하십시오.

# 크론탭 -l

컴퓨터에 일부 cron 작업이 구성되어 있으면 다음과 같이 표시됩니다.

0 6 * * * /opt/scripts/backup_script.sh

위의 crontab 구성은 매일 오전 6시에 쉘 스크립트 "backup_script"를 실행하는 cron 작업을 보여줍니다. *는 필드 값의 모든 인스턴스에서 실행됨을 의미합니다. 따라서 위의 예에서 일, 월 및 요일 필드의 별표는 스크립트가 매월 매일, 매월 매월, 매주 매일 실행되어야 함을 의미합니다. 첫 번째 및 두 번째 필드는 crontab이 오전 6시인 0분 6시간에 스크립트를 실행하도록 지시합니다. 따라서 이 cron 작업 구성은 "/opt/scripts/backup_script.sh 스크립트를 매일, 매월, 매일 오전 6시에 실행합니다."와 같이 읽힙니다. 아래는 crontab 구성의 "해부학" 설명입니다.

<블록 인용>

0 6 * * * /opt/scripts/backup_script.sh
| | | | |
| | | | |________________ 요일(일요일=0)
| | | |________________________________ 월
| | |__________________________________ 날짜
| |___________ 시간
|___________________________ 분

새 cron 작업을 예약하거나 이전 작업을 편집하려면 다음 명령을 실행하십시오.

# 크론탭 -e

그러면 "cron 작업"을 추가, 편집 또는 삭제할 수 있는 편집기가 나타납니다. 매주 월요일 오후 3시 45분에 실행되도록 작업을 예약하려면 다음과 같은 항목을 추가하십시오.

45 15 * * 1 /opt/scripts/script.sh

쉼표를 사용하여 필드에 여러 항목을 추가할 수도 있습니다. 이것은 8시간 간격으로 하루에 세 번 스크립트를 실행하려는 경우에 유용합니다. 그러나 단일 필드의 항목 사이에 공백을 두지 마십시오. "cron 작업" 항목은 다음과 같습니다.

0 1,9,17 * 2,11 * /opt/scripts/db_backup_script.sh

위의 예에서 스크립트 "db_backup_script.sh"는 2월과 11월에 매일 오전 1시, 오전 9시, 오후 5시에 실행됩니다. cron 작업으로 할 수 있는 멋진 일이 많이 있습니다. 일, 월, 요일에 대해서도 동일하게 작동합니다. 이것에 익숙해지면 다음을 시도하십시오. Crontab은 숫자를 이해할 뿐만 아니라 몇 가지 기본적인 영어 단어에서도 작동할 수 있습니다.

문자열 설명
—— ———–
@reboot 한 번 실행하고 다음에 시스템이 재부팅될 때
@yearly 연초에 1년에 한 번 실행
@매년 @yearly와 동일, 1년에 한 번 실행
@monthly 매월 초에 실행
@weekly 일주일에 한 번, 주 초에 실행
@daily 하루에 한 번 자정에 실행
@midnight @daily와 동일, 자정에 실행
@hourly 한 시간에 한 번, 정각이 시작될 때 실행

예를 들어 매일 밤 자정에 스크립트를 실행하려는 경우 crontab 구성은 다음과 같습니다.

@midnight /opt/scripts/script.sh

"0 0 * * *" 대신 "@midnight"을 사용하면 동일하게 작동하고 숫자에 비해 훨씬 읽기 쉬우면서 매일 밤 자정에 요청된 스크립트를 실행합니다. 하이픈을 사용하여 범위를 선언할 수도 있습니다. 아래 명령에서 "script.sh"는 오전 1시부터 오전 6시까지 매시 시작될 때 실행됩니다.

0 1-6 * * * /opt/scripts/script.sh

cron으로 할 수 있는 멋진 일이 훨씬 더 많습니다. 모든 sysasmin은 그것을 맹세합니다. 일단 익숙해지면 사용하기가 매우 쉽고 매우 강력합니다. 작업을 잘못 예약하면 때때로 많은 피해를 줄 수 있으므로 이 도구를 현명하게 사용하십시오. crontab의 "맨 페이지"를 읽는 것이 좋습니다. at 명령은 예약 명령에도 사용되므로 배울 가치가 있습니다.