Bonjour,
je veux utiliser crontab pour me permettre d'executer un lien php qui fait une sauvegarde de ma base de donnees, mais cron ne me l'execute pas...
Dans crontab j'ai ajoute :
#!/usr/bin/php
0,37,40 * * * * https://localhost/sauvegarde.php&ok=true
mais sans succes ...
Merci d'avance...
# Et sinon ...
Posté par Hardy Damien . Évalué à 3.
regarde du coté de mysqldump ... (je suppose que ta base est une base mysql ...)
et elle change bcp entre la minute 37 et la minute 40 pour lancer autant de sauvegardes ?
Dam
# Mmmmm
Posté par Infernal Quack (site web personnel) . Évalué à 4.
Je te conseille de virer #!usr/bin/php de ta crontab et de mettre
0,37,40 * * * * wget https://localhost/sauvegarde.php&ok=true
à la place.
A noter que ton url est étrange : il ya un "&" mais il n'y a qu'un paramètre.
L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire
[^] # Re: Mmmmm
Posté par Infernal Quack (site web personnel) . Évalué à 2.
L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire
[^] # Re: Mmmmm
Posté par Lol Zimmerli (site web personnel, Mastodon) . Évalué à 2.
La gelée de coings est une chose à ne pas avaler de travers.
# php client
Posté par denix . Évalué à 2.
0,37,40 * * * * /usr/bin/php mon_path_qui_va_bien/sauvegarde.php
# Autre probleme...
Posté par Noctis . Évalué à 1.
j'ai bien reussi a m'en sortir, il fallait utiliser lynx et mettre ? a la place de &
Donc ma ligne donne :
0,20,40 * * * * lynx https://localhost/sauvegarde.php?ok=true
Maintenant, je souhaite rentre les informations concernant le jour, minute, heure...... a travers un formulaire php...
Je recupere les informations que je met dans une variable puis je me sert de la fonction fwrite de php...
Mais il me met une erreur :
Warning: fopen(/var/spool/cron/crontabs/root): failed to open stream: Permission denied in /var/www/lpmo.biblio/sauvegarde/sauvegardeConfig.php on line 529
J'ai pourtant mis tout les droits sur le fichier root. Est ce qu'on peut ecrire directement dans le cron ou il faut forcement passer par la console ?
Est ce que quelqu'un aurait une idee ?
Merci d'avance ...
(ma fonction fopen est : fopen("/var/spool/cron/crontabs/root","a");
[^] # Re: Autre probleme...
Posté par Hervé Rilos . Évalué à 1.
Quand tu appelles lynx, il fait une requête sur ton serveur web (on va dire Apache) qui tourne avec l'utilisateur "apache" en général. Ton script s'exécute donc avec les droits de cet utilisateur.
Tu ne devrais pas essayer de modifier la crontab de root avec un script php. Si tu n'as pas le choix, fais un appel système (system(), exec(), etc.) qui fera un "echo 0,20,40 * * * * commande | crontab -u root". Mais pour cela, ton script devra tourner avec les droits root. Et comme tu as l'air de débuter, mon conseil : NE LE FAIS PAS. Si tu veux le faire quand même, ne lance pas ton script depuis le serveur web, mais directement avec la commande php (/usr/bin/php ou /usr/local/bin/php).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.