Aller au contenu

QuEcHuA

Membres
  • Compteur de contenus

    5
  • Inscription

  • Dernière visite

Messages posté(e)s par QuEcHuA

  1. Bonjour à tous,

    Je remonte ce sujet un peu vieux mais c'est exactement ce dont j'ai besoin.

    Je suis totalement newbie sous linux mais pas mal débrouillard, j'ai donc modifié mon crontab, rendu le script exécutable, tout ça...

    Sauf que lorsque je veux tester l’exécution du script à la main et que je l’exécute, j'ai droit à un message d'erreur:

    Ds107> sh backupbdd.sh

    backupbdd.sh: line 38: syntax error: unexpected word (expecting "do")

    J'ai bien vérifié ligne 38, c'est bien écrit "do". Le monsieur dans le synology me dit qu'il attend la valeur "do", après vérification du script elle y est, je cale...

    voici mon code :

    #!/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
    
    # *******************************************
    
    # *******************************************
    
    # 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=sauvegardebdd
    
    # Chemin du dossier où vont être sauvegardées les bases de données, chemin sans le / en fin
    
    dossier_sauvegarde=/volume1/sauvegarde/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 "*********************************"

    Merci pour le coup de main.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.