Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/03/2011, 09h57   #1
Nouveau Membre du Club
 
Inscription : juillet 2007
Messages : 117
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 117
Points : 25
Points : 25
Par défaut Dump SQL et suppression de fichier

Bonjour,

J'ai fais un script sh qui se lance en cron sur un hébergement web:

Voici le script:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
#!/bin/bash
 
host="localhost"
user="user"
pass="pass"
bdd="base"
 
jour=`date +%d-%m-%Y-%H-%M-%S`
dossier="private/dump-sql"
name="$dossier/dump-$jour.sql"
 
mysqldump -h $host -u $user -p$pass $bdd > $name
 
find $dossier -type f -mtime +7 -exec rm -f {} \;
Ce script fait un dump de la base de données, va stocker le fichier dans /private et après efface tout les fichiers qui ont plus de 7 jours...

Le script fonctionne à part la suppression de fichier...et aucune erreur ne m'est retournée...

Est-ce que ma commande find est juste ?

Merci d'avance
nesswaw est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 28/03/2011, 10h35   #2
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,

Pour le savoir il faut tester la sortie de :

Code :
find /private/dump-sql -type f -mtime +7 -exec echo "rm -f {}" \;
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/03/2011, 11h27   #3
Nouveau Membre du Club
 
Inscription : juillet 2007
Messages : 117
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 117
Points : 25
Points : 25
Je ne peux pas tester directement sur le serveur web, vu que c'est du mutalisé, je n'ai pas de console, je suis obliger de tester en simulant en local.

En local ça à l'air de fonctionner:

Code :
1
2
3
4
 
rm -f ./dump-1.sql
rm -f ./dump-2.sql
rm -f ./dump-3.sql
Alors pourquoi ça ne fonctionne pas sur le serveur web?

Merci
nesswaw est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/03/2011, 12h10   #4
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Ma boule de cristal étant en panne, je supputerai des droits d'administration restreints...

Sinon, ton script et ta crontab, tu y accèdes comment ?
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/03/2011, 13h37   #5
Nouveau Membre du Club
 
Inscription : juillet 2007
Messages : 117
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 117
Points : 25
Points : 25
Citation:
Envoyé par zipe31 Voir le message
Ma boule de cristal étant en panne, je supputerai des droits d'administration restreints...

Sinon, ton script et ta crontab, tu y accèdes comment ?
Via Plesk, et le script je le dépose dans un dossier sur mon ftp qui est hors du dossier web.

Mais si le script arrive à créer le fichier dump, il peut théoriquement l'effacer?
nesswaw est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/03/2011, 14h10   #6
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Citation:
Envoyé par nesswaw Voir le message
Via Plesk, et le script je le dépose dans un dossier sur mon ftp qui est hors du dossier web.

Mais si le script arrive a créé le fichier dump, il peut théoriquement l'effacer?
Peut-être n'as-tu pas suffisamment de droits concernant certaines commandes, comme "rm" par exemple

Essaies de modifier ta crontab et de rajouter le 'echo "rm -f {}" >> fich.log' en lieu et place du "rm -f {}"...
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/03/2011, 15h31   #7
Nouveau Membre du Club
 
Inscription : juillet 2007
Messages : 117
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 117
Points : 25
Points : 25
Alors j'ai bien un résultat:

Code :
1
2
 
rm -f private/dump-sql/dump-20-03-2011-03-00-01.sql
Après j'ai testé avec cette commande:

Code :
find $dossier -type f -mtime +7 -exec "rm -fv {}" >> private/fich.log \;
Résultat: le fichier log est vide, mais Plesk m'envoie un mail d'erreur:

Citation:
find: rm -fv private/dump-sql/dump-20-03-2011-03-00-01.sql: No such file or directory
Pourtant le fichier private/dump-sql/dump-20-03-2011-03-00-01.sql est bien présent....

Une autre idée?

Merci
nesswaw est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/03/2011, 15h39   #8
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Enlèves les guillemets autour de l'expression, ils sont inutiles sans le "echo"

Essaie de mettre le chemin absolu pour la commande "rm" (/bin/rm normalement mais à vérifier sur ton système).
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/03/2011, 15h51   #9
Nouveau Membre du Club
 
Inscription : juillet 2007
Messages : 117
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 117
Points : 25
Points : 25
Victoire, en enlevant les "" ça fonctionne:

Code :
find $dossier -type f -mtime +7 -exec rm -fv {} >> private/fich.log \;
Résultat: dans mon fichier log:

Code :
removed `private/dump-sql/dump-20-03-2011-03-00-01.sql'
Et le fichier n'existe plus

Je vais voir si le script fonctionnera cette nuit, merci beaucoup pour ton aide
nesswaw est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/03/2011, 16h01   #10
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
De rien, mais je n'ai rien fait de plus par rapport à ton script d'origine, la syntaxe est la même et ce n'est pas la redirection du mode verbeux dans un fichier qui a résolu le problème
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/03/2011, 16h04   #11
Nouveau Membre du Club
 
Inscription : juillet 2007
Messages : 117
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 117
Points : 25
Points : 25
Je vais tester ce soir avec redirection dans le log, et demain je vais tester comme avant. mais c'est rai que c'est bizarre...
nesswaw est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/03/2011, 16h31   #12
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 534
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 534
Points : 7 743
Points : 7 743
mets le chemin absolu dans la variable
Code :
dossier="private/dump-sql"
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h42.


 
 
 
 
Partenaires

Hébergement Web