Domanda

Voglio avere un'interfaccia web per controllare quando chiamare uno script PHP. In questa interfaccia voglio essere in grado di impostare determinati orari o intervalli che verrà chiamato uno script. Queste informazioni saranno archiviate in un DB. Quando premo save, voglio che legga tutti gli orari programmati dal DB, quindi formattalo e scriverlo su un crontab per un lavoro cron. C'è un modo per fare in modo che PHP modifichi un file crontab?

È stato utile?

Soluzione

Vorrei creare un " cron_runner.php " script che viene eseguito ogni minuto, legge i dati cron e li esegue di conseguenza. Ti sembra di reinventare la ruota ma almeno non hai problemi con i permessi dei file.

Altri suggerimenti

Dovrebbe essere possibile, ma è necessario che PHP disponga dei diritti necessari per accedere al crontab dell'utente o per eseguire "crontab" dalla riga di comando. In un ambiente di hosting condiviso, questo non è principalmente il caso.

In realtà, puoi manipolare i lavori cron semplicemente come file di testo. Devi stare attento a non frenare nulla.

Il demone cron salva i cronjob per ciascun utente usando la seguente struttura:

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

Usando queste informazioni, puoi modificare il file di testo corrispondente all'utente per il quale desideri impostare il nuovo cron.

Tieni presente che la modifica dei file di sistema può essere pericolosa e devi essere estremamente attento. La tua applicazione avrà anche bisogno di alcuni privilegi aggiuntivi per modificare questi file.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top