2010-01-10 5 views
6

Je développe une application web qui nécessite l'utilisation de Cron. Je voudrais le rendre facile à installer avec un processus d'installation automatique comme Wordpress. Je n'ai aucun problème à écrire le script d'installation jusqu'à son heure de configurer Cron. S'il vous plaît dites-moi si je peux le faire.Installer un travail cron avec un script php

Répondre

9

Il vous suffit de créer le fichier cron, puis utilisez exec pour mettre en place que Cron:

$cron_file = 'cron_filename'; 
// Create the file 
touch($cron_file); 
// Make it writable 
chmod($cron_file, 0777); 
// Save the cron 
file_put_contents($cron_file, '* * * * * your_command'); 
// Install the cron 
exec('crontab cron_file'); 

Cela nécessite que l'utilisateur qui PHP est exécuté sous a le droit de faire crontab. Ce fichier cron remplacera par défaut tous les autres crons pour cet utilisateur, alors assurez-vous de demander à l'utilisateur s'il veut appliquer le cron. Assurez-vous également que le dossier dans lequel vous écrivez le fichier crontab est accessible en écriture.

+0

Un grand merci pour cela. –

+1

N'utilisez pas 'chmod 0777'. Les droits devraient être limités au minimum, en l'occurrence '0600'. Et, comme déjà dit, l'interpréteur PHP doit être autorisé à éditer le crontab et même si c'est le cas, il peut entrer en conflit avec d'autres cronjobs du même utilisateur. – deamon

+0

donc si CronTab n'est pas accessible à Apache, ça ne va pas? C'est ce dont j'ai peur. –

Questions connexes