웹사이트 검색

Cron을 사용하여 일반 사용자로 PHP 스크립트를 실행하는 방법


Cron은 Linux를 포함한 Unix 계열 운영 체제에서 시간 기반 작업 예약을 위한 강력한 유틸리티입니다. 데몬으로 실행되며 특정 시간, 날짜 또는 간격에 따라 백그라운드에서 주기적으로 자동 실행되는 백업을 수행하기 위한 명령이나 셸 스크립트, 업데이트 예약 등의 작업을 예약하는 데 사용할 수 있습니다.

cron의 한 가지 제한 사항은 시스템이 영원히 실행될 것이라고 가정한다는 것입니다. 따라서 데스크톱 컴퓨터 이외의 서버에 적합합니다. 또한 'at' 또는 'batch' 명령을 사용하여 지정된 시간이나 나중에 작업을 예약할 수 있습니다. 그러나 작업은 한 번만 실행됩니다(반복되지 않음).

권장 읽기: Linux에서 Anacron을 사용하여 작업을 예약하는 방법

이 기사에서는 일반 시스템 사용자가 Linux의 cron 작업 스케줄러를 통해 PHP 스크립트를 실행하거나 실행할 수 있도록 허용하는 방법을 설명합니다.

crontab(CRON TABle) 프로그램을 사용하여 작업을 예약할 수 있습니다. 각 사용자는 작업 정의를 위한 6개 필드로 구성된 자신만의 crontab 파일을 가질 수 있습니다.

  • – 0~59 사이의 값을 허용합니다.
  • 시간 – 0~23 사이의 값을 허용합니다.
  • 월중 일 – 1~31 사이의 값을 저장합니다.
  • 연도의 달 – 1~12일 또는 1월~12월 사이의 값을 저장합니다. 각 달 이름의 처음 세 글자(예: Jan 또는 Jun)를 사용할 수 있습니다.
  • 요일 – 0-6 또는 일요일-토요일 사이의 값을 보유합니다. 여기서도 각 요일 이름의 처음 세 글자(예: Sun 또는 Wed)를 사용할 수 있습니다.
  • 명령 – 실행할 명령입니다.

자신의 crontab 파일에서 항목을 만들거나 편집하려면 다음을 입력하십시오.

crontab -e

모든 crontab 항목을 보려면 다음 명령을 입력하십시오(단순히 crontab 파일을 표준 출력으로 인쇄함).

crontab -l

그러나 시스템 관리자이고 다른 사용자로서 PHP 스크립트를 실행하려면 지정을 위한 추가 파일을 지원하는 /etc/crontab 파일 또는 루트 사용자의 crontab 파일에서 이를 예약해야 합니다. 사용자 이름:

sudo vi /etc/crontab

그리고 PHP 스크립트가 이와 같이 실행되도록 예약하고 타이밍 섹션 뒤에 사용자 이름을 지정하세요.

0 0 * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php

위 항목은 tecmint 사용자로 매일 자정에 /var/www/test_site/cronjobs/backup.php 스크립트를 실행합니다.

위 스크립트를 10분마다 자동으로 실행하려면 crontab 파일에 다음 항목을 추가하세요.

*/10 * * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php

위의 예에서 */10 * * * *는 작업이 발생해야 하는 시기를 나타냅니다. 첫 번째 숫자는 을 표시합니다. 이 시나리오에서는 매 "10"분마다 표시됩니다. 다른 숫자는 각각 시, 일, 월, 요일을 나타냅니다.

다음 관련 기사를 읽고 싶을 수도 있습니다.

  1. 쉘 스크립팅을 사용하여 Linux 시스템 유지 관리 작업 자동화
  2. 모든 Linux 사용자가 알아야 할 12가지 유용한 PHP 명령줄 사용법
  3. Linux 터미널에서 PHP 코드를 실행하는 방법
  4. 시스템 관리자를 위한 30가지 유용한 Linux 명령

그게 다야! 이 기사가 도움이 되기를 바랍니다. 이 주제와 관련하여 질문이 있거나 공유할 추가 아이디어가 있는 경우 아래 의견 양식을 사용하십시오.