Problème de configuration php-crontab linux
Fermé
hakimnounous
Messages postés
2
Date d'inscription
dimanche 28 août 2011
Statut
Membre
Dernière intervention
29 août 2011
-
29 août 2011 à 07:49
mamiemando Messages postés 33636 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2025 - 30 août 2011 à 02:17
mamiemando Messages postés 33636 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2025 - 30 août 2011 à 02:17
Bonjour à tous,je dois concevoir un programme qui permet d'ajouter une tâche à crontab.
Pour être plus clair je travaille en open source Linux et j'ai une interface web qui demande à l'utilisateur la commande et l'heure à laquelle il veut que cette commande soit exécuter,et une fois ces informations fournies,il clique sur le bouton valider et des instructions php enregistrent la tâche planifiée ainsi sous le fichier crontab.
Quelqu'un peut-il me dire comment ajouter une nouvelle tâche crontab avec php.
Merci d'avance.
Pour être plus clair je travaille en open source Linux et j'ai une interface web qui demande à l'utilisateur la commande et l'heure à laquelle il veut que cette commande soit exécuter,et une fois ces informations fournies,il clique sur le bouton valider et des instructions php enregistrent la tâche planifiée ainsi sous le fichier crontab.
Quelqu'un peut-il me dire comment ajouter une nouvelle tâche crontab avec php.
Merci d'avance.
A voir également:
- Problème de configuration php-crontab linux
- Ethernet n'a pas de configuration ip valide - Guide
- Panneau de configuration - Guide
- Retablir configuration usine chromecast - Guide
- Easy php - Télécharger - Divers Web & Internet
- Diskinternals linux reader - Télécharger - Stockage
3 réponses
mamiemando
Messages postés
33636
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 avril 2025
7 842
29 août 2011 à 11:01
29 août 2011 à 11:01
Le mieux serait de lire la documentation sur cron (et éventuellement anacron) ou son alternative (fcron) pour voir la syntaxe :
http://doc.ubuntu-fr.org/cron
http://doc.ubuntu-fr.org/anacron
http://doc.ubuntu-fr.org/fcron
Note que pour manipuler la crontab, normalement il faut des droits root (administrateur). Il faudra donc sans doute regarder aussi du côté de suphp.
http://doc.ubuntu-fr.org/suphp
Bonne chance
http://doc.ubuntu-fr.org/cron
http://doc.ubuntu-fr.org/anacron
http://doc.ubuntu-fr.org/fcron
Note que pour manipuler la crontab, normalement il faut des droits root (administrateur). Il faudra donc sans doute regarder aussi du côté de suphp.
http://doc.ubuntu-fr.org/suphp
Bonne chance
hakimnounous
Messages postés
2
Date d'inscription
dimanche 28 août 2011
Statut
Membre
Dernière intervention
29 août 2011
29 août 2011 à 16:06
29 août 2011 à 16:06
Merci bien cela m'aide à comprendre le syntaxe des fichiers cron mais c'était pas exactement la question.
Je voulais dire comment écrire le code source en langage PHP ou quels sont les commandes php qui renvoient une tâche ou une commande à exécuter à une date précise en l'écrivant dans le fichier crontab.
j'ai bien su que c'est grâce aux fonctions exec() et fwrite () mais je ne sais pas exactemen comment??
Je voulais dire comment écrire le code source en langage PHP ou quels sont les commandes php qui renvoient une tâche ou une commande à exécuter à une date précise en l'écrivant dans le fichier crontab.
j'ai bien su que c'est grâce aux fonctions exec() et fwrite () mais je ne sais pas exactemen comment??
mamiemando
Messages postés
33636
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 avril 2025
7 842
Modifié par mamiemando le 30/08/2011 à 02:28
Modifié par mamiemando le 30/08/2011 à 02:28
Bah si tu veux ouvrir un fichier il faut utiliser fopen et contrôler le retour pour voir si tout va bien (le fichier peut être créé / modifié, sous entendu les droits sont corrects, le répertoire dans lequel il se trouve existe...).
Si ça a marché (fp !== NULL) tu peux écrire dedans et le fermer quand tu as fini. Tu peux regarder sur php.net pour avoir des exemples :
https://www.php.net/manual/en/function.fopen.php
Normalement tu édites tes lignes avec la commande crontab -e. Ici on te suggère d'exécuter des commandes du genre "... | crontab -e" mais à vérifier.
https://www.daniweb.com/programming/software-development/threads/166819/how-do-i-edit-crontab-using-a-script
Personnellement je tenterais plutôt un truc du genre basée sur EOF
https://lists.debian.org/debian-policy/1997/12/msg00004.html
Mets par exemple un truc du genre dans un fichier toto.sh
Puis depuis php, appelle toto.sh avec exec par exemple :
https://www.php.net/manual/en/function.exec.php
Bonne chance
Si ça a marché (fp !== NULL) tu peux écrire dedans et le fermer quand tu as fini. Tu peux regarder sur php.net pour avoir des exemples :
https://www.php.net/manual/en/function.fopen.php
$filename = "/home/toto/pouet.txt"; $prenom = "Toto"; $fp = fopen($filename, "w"); if ($fp !== NULL) { fprintf($fp, "coucou %s\n", $prenom); fclose($fp) }else{ echo "Impossible d'ouvrir ".$filename.", vérifiez que le fichier existe et que vous avez des droits suffisants !\n"; }
Normalement tu édites tes lignes avec la commande crontab -e. Ici on te suggère d'exécuter des commandes du genre "... | crontab -e" mais à vérifier.
https://www.daniweb.com/programming/software-development/threads/166819/how-do-i-edit-crontab-using-a-script
Personnellement je tenterais plutôt un truc du genre basée sur EOF
https://lists.debian.org/debian-policy/1997/12/msg00004.html
Mets par exemple un truc du genre dans un fichier toto.sh
#!/bin/sh crontab -e << EOF Première ligne à mettre dans ta crontab Seconde ligne à mettre dans ta crontab ... EOF
Puis depuis php, appelle toto.sh avec exec par exemple :
https://www.php.net/manual/en/function.exec.php
Bonne chance