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:
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
il marche bien et met crée donc un fichier avec une date et l'heure de la sauvegarde:
/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:

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
Comment faire pour qu'il restaure le dernier backup ?