Probleme de Cron

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

YvesB
WRInaute impliqué
WRInaute impliqué
 
Messages: 520
Inscription: 11 Jan 2004

Probleme de Cron

Message le Ven Juil 02, 2004 18:21

Bjr, j'ai essayer dajouter l'execution d'un cron tout les jours pr executer un script php et sauvegarder ma base sql.
Il ne semble pas fonctionner. Voyer vous l'ereur la dedans?



forumsSHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly


02 4 * * * /usr/local/bin/php /home/afterdreamscom/robot.php

*/3 * * * * postfix /home/mailusers/maintain

02 4 * * * /usr/bin/mysqldump --host=213.246.40.46 --user=afterdreamscom
--password=monpasse --add-drop-table afterdreams > /usr/local/bin/php/home/afterdreamscom/dumpdb1.sql



Merci a vous :)

YvesB
WRInaute impliqué
WRInaute impliqué
 
Messages: 520
Inscription: 11 Jan 2004

Message le Lun Juil 05, 2004 10:19

68 personnes m'ont lu, et aucune n'est apparement capable de me repondre. Je suis déséspéré :(

Oncle Tom
WRInaute impliqué
WRInaute impliqué
 
Messages: 812
Inscription: 31 Mar 2003

Message le Mar Juil 06, 2004 8:41

Salut ;)

Pour ta sauvegarde, j'te conseille de tout faire via script, c'est aisément plus modifiable. Dans le script php, exécute y via exec() tes commandes SHELL (pas le pétrolier).

Sinon pour lancer un script php il est plus pratique de faire
Code: Tout sélectionner
02 4 * * * php -f /home/afterdreamscom/robot.php
(pour le lancer à 4h02 du matin c'est ça ?).

YvesB
WRInaute impliqué
WRInaute impliqué
 
Messages: 520
Inscription: 11 Jan 2004

Message le Ven Juil 09, 2004 17:46

C'est bon pr le robot.php j'ai reussi a le faire marcher. MErci a toi.
Pour la sauvegarde par script, je veux bien mais alors je sais vraiment pas quoi mettre ds le script :( M'enfin je vais chercher un peu sur le net de quoi m'inspirer.

C t plus a 4 heure tt les matin, je ss pas pq jai mis 2.

Merci The Jedi

Oncle Tom
WRInaute impliqué
WRInaute impliqué
 
Messages: 812
Inscription: 31 Mar 2003

Message le Ven Juil 09, 2004 18:17

Pour la sauvegarde par script, t'as 2 étapes.

La base de données
Code: Tout sélectionner
<?php
exec("mysqldump -u loginbdd --password=passbdd --databases nombase > sauvegarde.sql");
?>


Ca créera un dump de ta base (réimportable très facilement avec la commande d'après) dans le fichier sauvegarde.sql (à côté de ton script php).
Plus d'infos : http://dev.mysql.com/doc/mysql/en/mysqldump.html

Et pour réimporter ta base, tu le feras surement directement dans le shell donc
Code: Tout sélectionner
mysql -u loginbdd --password=passbdd nombase < sauvegarde.sql


Sauvegarde des fichiers
Limite le plus simple.

Code: Tout sélectionner
<?php
exec("tar cfzP site.tar.gz /home/chemin/de/ton/site/");
?>


Après à toi d'adapter les chemins et tout mais jte déconseille de mettre ton script de sauvegarde dans le répertoire que tu tentes de sauver ^^.
Après, faut stocker ça ailleurs car une save sur le même serveur, si le disque dur crash ... ben tu l'as dans l'os.

Bon courage ;)

YvesB
WRInaute impliqué
WRInaute impliqué
 
Messages: 520
Inscription: 11 Jan 2004

Message le Mar Juil 13, 2004 23:26

Merci the Jedi, j'ai fait comme tu ma dis, avec ce script :
Code: Tout sélectionner
if(exec("mysqldump -u afterdreamscom --password=pass --databases afterdreams > sauvegardebase.sql")){echo ("Base sauvegardé");}else{echo ("Base non sauvegardé");}


Mais ca me repond base non sauvegardé, et bien sur pas de fichier... Je suis sur que mon pass et bon, je vois pas :'(

spijoelx
WRInaute discret
WRInaute discret
 
Messages: 249
Inscription: 6 Fév 2004

Message le Mer Juil 14, 2004 1:26

ta fonction exec() est bien activée ?

mais sinon pourquoi apeller un php qui éxécute une commande serveur... autant apeller soit la commande serveur direct, soit un bash qui integre la commande.

tu fait:
vi nom_bash
tu balances ta ligne mysqldump...
:wq
chmod +x nom_bash

et tu mets direct /ton/path/nom_bash en cron
ca evite d'utiliser php pour rien..

Oncle Tom
WRInaute impliqué
WRInaute impliqué
 
Messages: 812
Inscription: 31 Mar 2003

Message le Mer Juil 14, 2004 10:08

Je fais tout en php car ça m'évite d'avoir à mixer différents fichiers.
Au départ je faisais ça en bash mais comme je ne le manipule pas encore assez bien, j'ai opté pour le php.
J'avais un problème pour exporter les sauvegardes sur un autre serveur (il voulait pas enlever le mode passif quoique je fasse) donc voilou ^^

Tex
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 449
Inscription: 9 Juil 2004

Message le Mer Juil 14, 2004 10:40

un script bash c quand meme plus simple, surtout si php n'a pas les privileges necessaire pour executer mysqldump :)

YvesB
WRInaute impliqué
WRInaute impliqué
 
Messages: 520
Inscription: 11 Jan 2004

Message le Mer Juil 14, 2004 21:59

Mais si je n'avais pas les autorisations pr faire un mysqldump, ou si la fonction n'etait pas activé, il me mettrait un message d'erreur non? parce que la rien, juste mon message pr me dire que ce n'est pas bon. (biensur je nest tjs pas de @ avt ma fonction )

Oncle Tom
WRInaute impliqué
WRInaute impliqué
 
Messages: 812
Inscription: 31 Mar 2003

Message le Jeu Juil 15, 2004 7:13

J'exécute ces scripts avec les droits root au passage ^^

YvesB
WRInaute impliqué
WRInaute impliqué
 
Messages: 520
Inscription: 11 Jan 2004

Message le Jeu Juil 15, 2004 15:05

Désolé mais je ne sais pas comment l'on fait pour avoir les droits root... fo mettre le passe root et le login root dans la fonction exec?

Tex
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 449
Inscription: 9 Juil 2004

Message le Jeu Juil 15, 2004 15:23

exec() hérite des droits de php eux meme hérités d'apache si le php est en module.

tu peut soit changer les droits de apache/php, soit changer les attributs de mysqldump pour que php puisse l'utiliser avec ses droits actuels (moins risqué).

sinon tu peut aussi passer par une commande bash 'sudo'

YvesB
WRInaute impliqué
WRInaute impliqué
 
Messages: 520
Inscription: 11 Jan 2004

Message le Lun Juil 19, 2004 23:53

J'ai un peu de mal avec ce que tu me dis de faire. :(
De mon coté, j'ai trouvé un compris, j'execute un script php qui contient exec, mais avec un cron :) Ca marche, mais le probleme est que la base n'est pas totalement sauvegardé ! Ca prend environ de 4 a 5 mo de la base, puis sa sarrete (ca me repond base non sauvegardé) et j'ai quand meme mon fichier sql de sauvegarde mais de 5 mo au lieu des 30 de la base ....

Je sais pas je crois que c mon cron qui ne prend pas le tps de séxécuté jusqu'au bout. Y a moyen de le configurer si c'est ca? Sinon pt est til possible de compresser la base avant de la sauvegarder?

Merci :)

YvesB
WRInaute impliqué
WRInaute impliqué
 
Messages: 520
Inscription: 11 Jan 2004

Message le Mer Juil 21, 2004 22:25

A l'aide :)

Probleme de Cron

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités