Salut,
pour tester j'ai créer un petit script de backup et de restor de bdd mysql en bash mais je bloque pour la restauration car le fichier est sauvegardé avec un format de date.
Je voudrais restaurée la dernière bdd mais je sais pas quoi indiquer dans le ligne de script.
Voici le script de backup:
il marche bien et met crée donc un fichier avec une date et l'heure de la sauvegarde:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #!/bin/sh PATH=/bin:/usr/bin:/usr/local/bin date=$(date +%d-%m-%Y-%H-%M) user="operator" pw="PASSWORD" dump="/usr/bin/mysqldump" log="/var/log/backupdb.log" dest="/var/db" ${dump} -A -u${user} -p${pw} > /var/tmp/databases.sql cd /var/tmp tar -cf databases-${date}.tar databases.sql bzip2 databases-${date}.tar chmod 600 databases-${date}.tar.bz2 mv databases-${date}.tar.bz2 ${dest} rm -f databases.sql echo "BACKUP_DB_${date} : Base de donnée sauvegardée" >> ${log} exit 0
/var/db/databases-18-10-2007-15-00.tar.bz2
Mais voilà, lors de la restauration il y a un problème car il ne trouve plus le fichier puisque la date du système à changée.
Voici le script de restauration:
Comment faire pour qu'il restaure le dernier backup ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #!/bin/sh PATH=/bin:/usr/bin:/usr/local/bin date=$(date +%d-%m-%Y-%H-%M) user="operator" pw="PASSWORD" sql="/usr/bin/mysql" dest="/var/db" echo echo "Restauration de la dernière sauvegarde...en cours..." sleep 2 cd ${dest} tar -jxf databases-${date}.tar.bz2 ${sql} -u${user} -p${pw} < databases.sql rm -f databases.sql echo echo "Dernière base de donnée restaurée avec succès" sleep 2 exit 0
Partager