Fonctionne impec après après quelques modifs, comme gg3105 j'avais :
[color=#282828][font=helvetica, arial, sans-serif]/etc/bckmysql.sh: line 29: gt: not found[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]/etc/bckmysql.sh: line 29: /dev/null: Permission denied[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]ERROR 1049 (42000): Unknown database '2'[/font][/color]
Le problème vient du caractère ">" qui dans le code donné DjMomo a été remplacé par son code HTML ">".
Il suffit donc de remplacer tous > par >
Voilà le code complet corrigé :
#!/bin/sh
# *******************************************
# Script de sauvegarde automatique des bases
# de données d'un serveur MySQL
# *******************************************
# Par F. Maurel
# Suivi des mises à jours sur nas-forum :
#
# *******************************************
# v1.0 - 10/02/12 - Version initiale
# v1.1 - 11/02/12 - Ajout path binaire mysql
# *******************************************[/size][/font][/color]
[color=#303030][font=Arial, Helvetica, sans-serif][size=3]# *******************************************
# Renseigner les variables de connexion au serveur
# *******************************************
# Adresse IP / nom du serveur de bases de données
mysql_server=localhost
# Nom d'utilisateur ayant les droits adéquats, cf forum
mysql_user=sauvegarde
# Mot de passe de l'utilisateur
mysql_pass=mot_de_passe
# Chemin du dossier où vont être sauvegardées les bases de données, chemin sans le / en fin
dossier_sauvegarde=/volume1/backup/mysql
# Chemin des binaires mysql
dossier_bin=/usr/syno/mysql/bin
# *******************************************
# Ne pas modifier la suite du fichier
# *******************************************
bases=`$dossier_bin/mysql --host=$mysql_server --user=$mysql_user --password=$mysql_pass -e "show databases;" -B -s 2> /dev/null`
if [ -z "$bases" ];then
echo "Erreur d'accès ou pas de bases."
exit 1
fi
echo "***************************************************"
echo "* Début d'optimisation et de sauvegarde des bases *"
echo "***************************************************"
for base in $bases
do
echo "------- Traitement de la base $base -------"
echo "-- Début d'optimisation --"
$dossier_bin/mysqlcheck --optimize --host=$mysql_server --user=$mysql_user --password=$mysql_pass --databases "$base"
wait
echo ">> Optimisation terminée"
echo "-- Début de sauvegarde --"
$dossier_bin/mysqldump --opt --verbose --host=$mysql_server --user=$mysql_user --password=$mysql_pass --databases "$base" | gzip -9 > ${dossier_sauvegarde}/backup-${base}-$(date -I).gz
echo "------- Sauvegarde de la base $base terminée -------"
done
echo "*********************************"
echo "* Sauvegarde des bases terminée *"
echo "*********************************"