Sauvegarder plusieurs bases de données d'un seul coup d'un seul

Réduire
Ceci est un sujet important.
X
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • jisse03
    a répondu
    Re : Sauvegarder plusieurs bases de données d'un seul coup d'un seul

    Bonjour,

    Ne sachant pas si la sauvegarde doit être réalisée sous un environnement Windows ou Unix (Linux/macOS), le shell scripting varaint entre ces environnements, il y a en gros 2 variantes.

    1. Pour Windows, un classique
    Code:
    @echo off
    echo Starting Backup of Mysql Database on server
    
    For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set dt=%%c-%%a-%%b)
    For /f "tokens=1-4 delims=:." %%a in ('echo %time%') do (set tm=%%a%%b%%c%%d)
    set bkupfilename=%1 %dt% %tm%.sql
    echo Backing up to file: %bkupfilename%
    mysqldump  --routines -u <username> -p<password>  <database name> > D:\mysql_daily_backups\"<databasename>%bkupfilename%"
    
    
    echo on
    echo delete old backup
    forfiles /p D:\mysql_daily_backups /s /m *.* /d -3 /c "cmd /c del @file : date >= 3days"
    
    echo Backup Complete! Have A Nice Day
    Et pour les autres (Linux, MacOS, FreeBSD, AIX, Solaris etc, ce code est utilisé en général sur la quasi totalité des serveurs de la planète depuis des années:
    Code:
    #!/bin/bash
    # Shell script to backup MySql database
    # To backup Nysql databases file to /var/backup dir and later pick up by your
    # script.
    
    
    MyUSER="SET-MYSQL-USER-NAME"	# USERNAME
    MyPASS="SET-PASSWORD"       	# PASSWORD
    MyHOST="localhost"          	# Hostname
    
    
    # Linux bin paths, change this if it can not be autodetected via which command
    MYSQL="$(which mysql)"
    MYSQLDUMP="$(which mysqldump)"
    CHOWN="$(which chown)"
    CHMOD="$(which chmod)"
    GZIP="$(which gzip)"
    
    
    # Backup Dest directory, change this if you have someother location
    DEST="/var/backup"
    
    
    # Main directory where backup will be stored
    MBD="$DEST/mysql"
    
    
    # Get hostname
    HOST="$(hostname)"
    
    
    # Get data in dd-mm-yyyy format
    NOW="$(date +"%d-%m-%Y")"
    
    
    # File to store current backup file
    FILE=""
    # Store list of databases
    DBS=""
    
    
    # DO NOT BACKUP these databases
    IGGY="test"
    
    
    [ ! -d $MBD ] && mkdir -p $MBD || :
    
    
    # Only root can access it!
    $CHOWN 0.0 -R $DEST
    $CHMOD 0600 $DEST
    
    
    # Get all database list first
    DBS="$($MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')"
    
    
    for db in $DBS
    do
        skipdb=-1
        if [ "$IGGY" != "" ];
        then
    	for i in $IGGY
    	do
    	    [ "$db" == "$i" ] && skipdb=1 || :
    	done
        fi
    
    
        if [ "$skipdb" == "-1" ] ; then
    	FILE="$MBD/$db.$HOST.$NOW.gz"
    	# do all inone job in pipe,
    	# connect to mysql using mysqldump for select mysql database
    	# and pipe it out to gz file in backup dir :)
            $MYSQLDUMP -u $MyUSER -h $MyHOST -p$MyPASS $db | $GZIP -9 > $FILE
        fi
    done
    Si ça peut aider

    Laisser un commentaire:


  • Sauvegarder plusieurs bases de données d'un seul coup d'un seul

    Bonjour,



    Je passe du temps à sauvegarder régulièrement mes bases de données — Joomla et autres — stockées en local en les exportant une à une depuis PhpMyAdmin.

    Quelqu'un pourrait-il me suggérer un outil (logiciel Windows ou script...) permettant de sauvegarder l'ensemble de ces bases d'un seul coup d'un seul ?

    D'avance merci !


    Cordialement,



    PhilJ

    PS : j'ignore si c'est le bon endroit pour poser cette question, qui n'est pas spécifique à Joomla => elle peut donc être déplacée si besoin est.
    Dernière édition par PhilJ à 30/06/2012, 03h24

Annonce

Réduire
Aucune annonce pour le moment.

Partenaire de l'association

Réduire

Hébergeur Web PlanetHoster
Travaille ...
X