문제

PHP 스크립트를 호출 할 때 제어 할 웹 인터페이스를 원합니다. 이 인터페이스에서는 스크립트가 호출되는 특정 시간 또는 범위를 설정할 수 있기를 원합니다. 이 정보는 DB에 저장됩니다. Save를 누르면 DB에서 예정된 모든 시간을 읽은 다음 포맷하고 Cron 작업을 위해 Crontab에 쓰기를 원합니다. PHP가 Crontab 파일을 수정하는 방법이 있습니까?

도움이 되었습니까?

해결책

매 순간 실행되는 "cron_runner.php"스크립트를 만들고 CRON 데이터를 읽고 그에 따라 실행합니다. 바퀴를 재창조하는 것처럼 느껴지지만 적어도 파일 권한에 아무런 문제가 없습니다.

다른 팁

가능해야하지만 사용자의 Crontab에 액세스하거나 명령 줄에서 "Crontab"을 실행하는 데 필요한 권한을 갖기 위해 PHP가 필요합니다. 공유 호스팅 환경에서 이것은 대부분 사실이 아닙니다.

실제로 CRON 작업을 텍스트 파일만큼 간단하게 조작 할 수 있습니다. 당신은 아무것도 브레이크하지 않도록주의해야합니다.

Cron 데몬은 다음 구조를 사용하여 각 사용자의 Cronjob을 저장합니다.

/var
   /spool
        /cron
            /crontabs
                /root
                /user1
                /user2
                ..
                /user5

이 정보를 사용하면 새 CRON을 설정하려는 사용자에 해당하는 텍스트 파일을 수정할 수 있습니다.

시스템 파일 수정은 위험 할 수 있으며 매우 조심해야합니다. 응용 프로그램에는 이러한 파일을 수정하기위한 몇 가지 추가 권한이 필요합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top