Cron 작업 마스터 링 및 기본 서버 작업 자동화

작성자 :
  • 주요 기사
  • 업데이트 : 9 월 06, 2017

웹 호스팅은 이동 중에도 전문인이 쉽고 간단하며 완벽하게 사용할 수 있도록 설계되어있어 매일 매일 한 시간을 바꿀 수는 없습니다. 호스팅 서버 관리 및 관련 작업.

이를 위해 Unix 또는 Linux 기반의 거의 모든 서버는 "크론 작업"또는"Crontab. "

이 소프트웨어 유틸리티는 Microsoft Windows의 작업 스케줄러와 매우 유사하여 특정 시간에 특정 작업을 수행하도록 지시하여 사용자가 이러한 작업을 수동으로 수행하지 않도록합니다. 이는 많은 일상적인 서버 유지 보수, 백업 및 통신 절차가 완료되는 데 몇 시간 및 몇 시간이 걸릴 수 있다고 생각할 때 특히 중요합니다. 대부분의 사람들은 저녁에 파일을 백업하고 연락처를 관리하는 대신 사무실에서 하루를 보내고 집에 돌아와 긴장을 풀기를 원합니다.

매일 모든 작업을 매일, 매주 또는 매월 또는 일부 경우에 계획 할 수 있으므로 행운을 빕니다. Crontab 유틸리티를 사용하여 작업 수행 방법에 대한 구체적인 지침을 서버에 제공 할 수 있습니다 , 언제 완료되었는지 알 수있는 방법, 그리고 실제로 진행중인 작업이 실제로 끝났을 때해야할 일.

사용자는 서버가 몇 시간 동안 무리하게 움직이는 동안 휴식을 취할 수 있습니다. 또는 자신의 사무실에서 열심히 일하면서 작업을 완료하도록 일정을 잡을 수 있습니다. 자동화되었으므로 Cron 작업은 거의 모든 시간대에 발생할 수 있습니다.

크론 작업의 형식을 사용하여 시간을 알려주는 학습

크론 직업은 쉽게 습득하기가 쉽지 않습니다. 실제로 표준에서 사용할 수있는 가장 진보 된 구성 중 하나로 널리 간주됩니다. 리눅스 or 유닉스 웹 서버. 이것은 부분적으로는 이러한 작업을 프로그래밍하는 데 사용 된 언어가 너무 고풍 적이기 때문에, 경우에 따라 완전히 거꾸로되어 있기 때문입니다. 문제가되는 Cron 작업 또는 Cron 탭에 대해 특정 시간을 말하면 오히려 뒤로, 거꾸로 그리고 약간 혼란 스럽습니다.

Cron 작업을 통해 시간을 알려주는 형식은 다음과 같습니다.

MINUTE HOUR MONTHTH DAY-OF-WEEK COMMAND

그것은 모두 하나의 라인이고, 짝수와 명령조차도 하나의 획일적 인 수축 속에 나란히 있습니다. 대부분의 개발자와 서버 운영자가 질겁하게 만드는 것만으로도 충분합니다. 실제로 많은 사람들이 효율적인 Cron 작업을 개발하기 위해 잠시 기다려야합니다.

Cron 작업 시간의 모든 측면은 숫자라는 점에 유의해야합니다. 작업을 수행해야하는 시간의 개발 기간 동안 사용되는 월 이름 요일 이름이나 다른 단어는 없습니다.

그러므로 Cron 작업을 10 : 30의 7 월 7th에 설정하여 Cron 작업 시간이 엄격하게 숫자로 바뀌었을 때의 느낌을 확인해 봅시다.

30 10 07 07 *

위의 예에서는 작업이 일곱 번째 달의 칠일 째되는 날의 10 번째 시간 30th 분에 완료되어야한다고 명시합니다. 월 또는 일이 단 한 자리 일 때도 모든 숫자는 두 자릿수입니다. 한자리 수로 종종 Cron 작업이 무효화되고 단순히 수행되지 않기 때문에 이것은 중요합니다. 죄수 구조의 끝에서 별표는 작업이 요일에 수행되어야 함을 나타냅니다. 수요일 03로 설정하면 작업이 화요일 인 경우 작업이 7 월 7th에서만 수행된다는 것을 의미하므로 중요합니다. 이는 7 ~ 8 년에 한 번 발생하기 때문에 대부분의 개발자가 고려해야 할 사항입니다.

Cron 작업을 설정할 때 고려해야 할 또 다른 중요한 고려 사항은 시간 형식이 24 시간 민간용 시간이 아닌 12 시간 군사 시간이라는 것입니다. Cron 작업 시간을 10 pm으로 변경하려면 시간은 현재 22 대신 10로 변경됩니다.

Cron 작업 예제

마지막으로, 사용자가 매일, 매월 또는 연간 단위로 작업을 완료하기 만하면 특정 시간을 설정하는 프로세스를 건너 뛸 수 있습니다. 대신, Cron 작업 프로세스는 작업이 자주 발생하는 간격을 결정하는 변수를 단순히 사용합니다. 여기에는 다음이 포함됩니다.

  • @매일
  • @월간 간행물
  • @매년

이 시간은 시간과 분을 사용하여 엄격하게 제어하고 결정할 수 없기 때문에 요청 된 간격으로 서버의 내부 시간에 따라 정확하게 자정에이 작업이 수행됩니다. 즉, @ 매월 간격은 매월 1 일 자정에 정확히 발생합니다. @ 연간 간격은 매년 1 월 1 일 자정에 발생합니다. @daily 간격은 일년 중 매일 자정에 정확히 발생합니다.

특정 날짜, 시간 및 요일을 설정하는 것보다 훨씬 쉽지만 특정 작업은 특정 고객에게 몇 가지 단점이있을 수 있습니다. 정확히 자정에 발생하는 작업을 예약 할 때 항상 관리자와 사이트 방문자의 요구를 염두에 두십시오.

"COMMAND"변수 파악하기

위의 예에서 볼 수 있듯이 실제 Cron 작업을 구성하는 것은 상대적으로 쉽습니다. 날짜를 먼저 정의한 다음 Cron 작업의 기능을 즉시 정의해야합니다. 이 기능은 문자 그대로 PHP 스크립트를 실행하거나 원격 파일이나 로컬 파일에 서버의 파일과 데이터를 저장하는 사용자 정의 된 백업 스크립트를 실행하는 것을 포함합니다. 명확히하기 위해 이전에 사용 된 예제를 토대로 Cron 작업에 7 월 7th (10 : 30 오전)에 PHP 스크립트를 실행하도록 지시합니다. 이 PHP 스크립트는 "backup.php"라고하며, PHP 파일은 서버에서 지시 한 경우 매월 7 일에 사이트 파일을 수집, 압축 및 저장하는 전체 백업 스크립트라고 가정합니다. 다음은 그 모습입니다.

30 10 07 07 * http://your-domain-name.com/backup-scripts/backup.php

이 Cron 작업이 서버의 Cron 탭 목록에 입력되면 매년 10 : 30에서 자동으로 실행됩니다 (매년 7 월 7th). "backup-scripts"디렉토리에있는 PHP 백업 스크립트가 실행되며, Cron 작업 설정의 진정한 천재성이 작동합니다.

사이트 백업 및 캐시 플러시와 같은 작업을 수행하기 위해 사용자의 고급 명령을 요구하는 대신 특정 간격으로 또는 특정 날짜에 특정 날짜에 기존 스크립트를 실행할 수 있습니다. 즉, 사용자가 이미 알고있는 것 이상으로 고급 프로그래밍 지식이 필요하지 않습니다. PHP는 훨씬 더 고급 사용자가 Linux 서버를 개발할 수있는 고급 파일 및 프로그래밍 언어와 마찬가지로 백업 사이트 파일을 완벽하게 지원합니다.

이 간단한 설정은 사전 작성된 스크립트가 사용자 입력과 관계없이 이러한 작업의 실행을 제공하는 한 사실상 모든 것을 수행하는 데 사용될 수 있습니다. 이것은 Cron 탭에서 Cron 작업에 의해 실행되는 모든 스크립트가 완전히 자동화되어야하고 자체적으로 수행 할 수 있어야한다는 것을 의미합니다. 예를 들어, Cron 작업에 WordPress 색인 또는 테마 파일을 동시에 실행하도록하는 것은 불가능합니다 (그리고 간단히 비논리적입니다). Cron 작업은 확실히 파일을 실행하지만 아무런 조치도 취하지 않고 사용자 입력이 다른 방법으로 제공 될 때까지 정적으로 유지됩니다.

이러한 이유로 Cron 작업에 사용할 백업 스크립트 나 다른 스크립트를 코딩하거나 다운로드하는 경우 해당 기능을 성공적으로 수행하려면 항상 사용자 입력이 정확히 필요합니다. 자동 작업 스케줄러는 실행되는 파일 내에서 자동화 된 프로세스와 쌍을 이루어야합니다. 이 규칙에는 예외가 없습니다.

일반 서버에서 전체 크론 탭 파일 마스터하기

실행을 위해 지정된 모든 특정 Cron 작업은 Cron 탭으로 알려진 더 큰 파일 내에 있습니다. 일부 서버에는 여러 유형의 응용 프로그램과 자동화 된 입력에 대해 여러 개의 Cron 탭이 있지만 대부분의 고급 서버 운영자와 소유자는이 서버를 사용하지 않습니다. Cron 탭 파일이 하나 뿐인 사용자는 아래 명령을 사용하여 파일 전체를 편집, 삭제 또는 볼 수 있으며 각 특정 자동화 된 작업은 파일 내에서 볼 수 있도록 나열됩니다.

crontab -r

이 명령은 전체 Cron 탭 파일 자체를 제거 ( "r")하거나 삭제합니다. 이렇게하면 모든 명령과 자동화 된 스크립트를 효과적으로 제거하고 다시 작성할 수있는 빈 파일로 복원합니다. 이것은 파일을 손상 시키거나 부적절한 작업과 시간을 관리하는 사람들에게 적합한 옵션입니다. 가끔 시작하는 것이 더 쉽습니다.

crontab을 -e

이 경우 "e"는 "편집"을 의미합니다. 파일을 완전히 삭제하지 않고 Cron 탭에 설명 된 기능을 편집하려는 사용자는이 명령을 명령 줄 편집기로 가져 와서 새 작업 추가, 이전 작업 제거 또는 Cron 탭 문서에 나열된 각 Cron 작업의 해당 일정 시간 변경.

crontab -l

이 경우 "L"을 "look"과 연결하여 기억하기 쉽습니다. 이 명령을 사용하면 서버 관리자는 서버에서 내용을 편집 할 필요없이 Cron 탭 파일의 전체 내용을 서버에서 완전히 제거하지 않고 간단히 볼 수 있습니다. 이 Cron 탭 내용의 읽기 전용 표시는 어떤 작업이 어떤 시간에 예정되어 있는지 기억하고 파일 자체의 무결성을 확인하는 데 적합합니다.

크론 탭 자동화 파일을 마스터하는 것이 중요한 이유

일반적으로 서버에 대해 자동화 된 유일한 것은 하드 디스크의 회전과 하드웨어 기능의 성능입니다. 그 외에도 서버는 단순히 소프트웨어 제어판을 표시하거나 사용자가 하드 디스크에 배치 한 PHP 또는 Perl의 설치를 업그레이드하는 것 이상의 일상적이고 특별한 작업을 수행하도록 교육되고 지시를 받아야합니다.

서버가 정기적으로 실행할 수있는 가장 필수적인 기능 중 하나는 데이터 및 설정의 사이트 백업을 만드는 것입니다. Cron 작업 없이는이 프로세스를 자동화 할 수있는 방법이 거의 없으며 매일 인터넷이나 사이트를 통과하는 모든 악의적 인 방문자 때문에 매일 또는 매주이 프로세스를 자동화하지 않으면 심각한 결과를 초래할 수 있습니다 그리고 치명적인 데이터 손실.

그 이상으로 Cron 작업 프로세스를 사용하여 자동화해야하는 많은 작업이 있습니다. 이러한 작업에는 오래된 이미지 나 인쇄 된 콘텐츠를 사이트 방문자에게 표시 할 수있는 사이트 캐시를 제거하는 작업, 또한 오래된 파일을 지우고, 오래된 디렉토리와 이미지를 정리하고, 서버의 하드 디스크 드라이브에 저장된 모든 것이 최신이고 손상되지 않았는지 확인합니다.

건강한 개인용 컴퓨터가 디스크 유지 관리, 바이러스 백신 및 맬웨어 검사, 소프트웨어 업데이트 및 파일 삭제를 자동으로 예약하는 것처럼 건강한 서버는 자체 관리하고 양호한 상태를 유지하도록 구성되어야합니다. 그렇지 않으면 충돌, 해킹 시도 및 데이터 손실로 인해 이익 손실, 광고, 콘텐츠 작성 및 검색 엔진 순위 상태로 이어질 수 있습니다.

배우기 쉽고 배포하기가 쉽습니다.

표준 Cron 탭에서 Cron 작업을 만드는 것은 서버 관리자가 할 수있는 가장 쉬운 작업 중 하나입니다.

이 프로세스는 표준 명령 줄 내에 있으며 시간의 모든 부분을 두 자리 코드로 나눕니다.

작업을 자동화하기 위해 새로운 프로그래밍 언어에 대한 추가 지식이 필요 없기 때문에이 서비스는 기본적으로 관리자가 이미 보유하고있는 기존 프로그래밍 및 서버 작업에 기반합니다. 이 경우 필수적인 서버 기능을 자동화하지 않고 사이트 데이터 및 작업의 무결성을 보장 할 이유가 없습니다.

Jerry Low 정보

WebHostingSecretRevealed.net (WHSR)의 설립자 - 100,000의 사용자가 신뢰하고 사용하는 호스팅 검토. 웹 호스팅, 제휴 마케팅 및 SEO에서 15 년 이상의 경험. ProBlogger.net, Business.com, SocialMediaToday.com 등의 기고자.