OVH Cloud OVH Cloud

[debutant] gerer crontab via PHP ?

3 réponses
Avatar
julien.gautier
bonjour,


je voudrais savoir s'il est possible de gérer un crontab (opérationnel)
depuis une page web en PHP.

Le but ultime est de permettre le réglage d'un système de sauvegarde
automatique via une interface web.

Pour le moment, j'arrive seulement à faire en sorte que PHP écrive un
fichier pour le crontab, du genre :

* * * * * chemin_du_script_a_executer_par_cron


Par contre je n'arrive pas à installer le fichier crontab.
J'ai tenté de faire :

shell_exec('crontab chemin_du_crontab');

Ca marche mais bien sûr cela installe un crontab pour le user "nobody".
Or il ne semble pas que cron lance les commandes du crontab de
nobody....

Que me conseillez vous de faire pour obtenir ce que je cherche ?

Merci d'avance pour vos suggestions.

3 réponses

Avatar
Bulles D'hiver
bonjour,


je voudrais savoir s'il est possible de gérer un crontab (opérationnel)
depuis une page web en PHP.

Le but ultime est de permettre le réglage d'un système de sauvegarde
automatique via une interface web.

Pour le moment, j'arrive seulement à faire en sorte que PHP écrive un
fichier pour le crontab, du genre :

* * * * * chemin_du_script_a_executer_par_cron


Par contre je n'arrive pas à installer le fichier crontab.
J'ai tenté de faire :

shell_exec('crontab chemin_du_crontab');

Ca marche mais bien sûr cela installe un crontab pour le user "nobody".
Or il ne semble pas que cron lance les commandes du crontab de
nobody....

Que me conseillez vous de faire pour obtenir ce que je cherche ?

Merci d'avance pour vos suggestions.


Va voir par là :
http://www.webcron.org/

"
Bienvenue
Bienvenue sur Webcron, le service de taches automatisés à heure fixe.
Si vous connaissez Unix ou Linux vous avez surement entendu parler de
la Crontab. Webcron est une adaptation au Web de cette fameuse Crontab.
Attention rien de bien compliqué !

A quoi ca sert ?
Webcron vous permettra d'effectuer des taches à heure fixe en allant
chercher une page sur votre site. Par exemple, sauvegarder votre base
de données, pour cela il vous suffit de faire un script
sauvegarde_base.php et dans ce script vous allez enregistrer votre base
dans un fichier ensuite ajoutez une tache dans votre Webcron pour
effectuer la requête http://www.domaine.com/sauvegarde_base.php
"

--
Cordialement,

Denis Bellenger.
http://www.annuairebd.com : Un annuaire BDs
http://www.annuairebd.com/webring : Le WebRing des Annuaires BDs
http://bullesdhiver.free.fr : Fonds d'écran BDs

Avatar
julien.gautier
Bulles D'hiver wrote:


Va voir par là :
http://www.webcron.org/



merci mais je préférerais me passer d'un service extérieur.

Avatar
Bonjour,

$ man sudo

sudo permet d'executer une commande en tant que root ou n'importe quel
autre utilisateur. C'est une solution plutot secure. On peut également
utiliser 'sudo' avec un script. Donc pour éviter que 'nobody' puisse
utiliser 'crontab' en tant que 'root', on peut ecrire un script shell
qui contient le 'crontab fic_conf_crontab'. Ca limite qq peu les
probleme de securite. Reste à faire en sorte que le fichier
'fic_conf_crontab' ne puisse être altéré par de mauvaises mains.

Hmm, j'espere que c clair et que ca repond a la question ;)

Julien Gautier wrote:

bonjour,


je voudrais savoir s'il est possible de gérer un crontab (opérationnel)
depuis une page web en PHP.

Le but ultime est de permettre le réglage d'un système de sauvegarde
automatique via une interface web.

Pour le moment, j'arrive seulement à faire en sorte que PHP écrive un
fichier pour le crontab, du genre :

* * * * * chemin_du_script_a_executer_par_cron


Par contre je n'arrive pas à installer le fichier crontab.
J'ai tenté de faire :

shell_exec('crontab chemin_du_crontab');

Ca marche mais bien sûr cela installe un crontab pour le user "nobody".
Or il ne semble pas que cron lance les commandes du crontab de
nobody....

Que me conseillez vous de faire pour obtenir ce que je cherche ?

Merci d'avance pour vos suggestions.