You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2019-10-02 10:18:37

elonia15
Member
Registered: 2011-10-17
Posts: 65

Sauvegarde SQL

Bonjour,

J'aimerais déplacer mon serveur GLPI, mais pour cela je voulais faire une sauvegarde SQL via l'onglet Maintenance.
Cependant, j'ai déjà essayé plusieurs fois, et cette sauvegarde SQL se bloque à 44%.
Quelqu'un aurait une idée pourquoi ?
Quelqu'un sait combien de temps environ peut durer la sauvegarde ?

Merci à vous.

Offline

#2 2019-10-02 10:19:55

elonia15
Member
Registered: 2011-10-17
Posts: 65

Re: Sauvegarde SQL

Et est-ce que quelqu'un aurai une idée aussi quelle taille ferait la sauvegarde une fois terminée (environ) ?

Offline

#3 2019-10-02 10:25:28

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: Sauvegarde SQL

Salut,
Le mieux, dans ce cas, c'est de ne PAS passer par l'interface de GLPI pour faire la sauvegarde.
En passant par le serveur MySQL en direct ou par des outils comme adminer, par exemple, ça va BEAUCOUP plus vite pour créer le backup.

Perso, je recommande adminer. C'est UN fichier php, c'est léger et efficace.

Pour ce qui est de la taille, c'est impossible à prévoir.
Ca peut aller de quelques MB à plusieurs dizaines de GB (en fonction de ce qu'il y a dans la DB).

Offline

#4 2019-10-02 14:44:05

elonia15
Member
Registered: 2011-10-17
Posts: 65

Re: Sauvegarde SQL

Merci de votre réponse.
D'accord, merci.
Je ne sais pas faire en ligne de commande, et je ne connais pas votre 'adminer", pourriez-vous m'aider pour l'un ou l'autre svp ?

Offline

#5 2019-10-02 15:40:11

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: Sauvegarde SQL

adminer est un fichier php qu'il faut poser sur le serveur web de glpi. Par exemple, à la racine.
Ensuite, on se connecte sur https://monserveur.mondomaine.local/glpi/adminer.php (par exemple) et on entre son login et son mot de passe MySQL ainsi que la DB que l'on veut exporter.

De là, on a une interface qui permet, entre autre, de faire un export de la DB.

https://www.adminer.org/en/

Offline

#6 2019-10-02 16:19:17

elonia15
Member
Registered: 2011-10-17
Posts: 65

Re: Sauvegarde SQL

Super, merci beaucoup !
Cet outil est en effet génial !
Je suppose que je dois faire "Exporter", mais ensuite dans les options que dois-je choisir ? (cf. pièce jointe ci-contre : https://we.tl/t-eBLQw35ntN)
Je veux faire une sauvegarde pour pouvoir la réimporter ensuite sur un autre serveur.

Merci de votre aide encore smile

Offline

#7 2019-10-03 13:49:26

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: Sauvegarde SQL

Les valeurs par défaut donnent un fichier que l'on peut réinjecter pour migrer de serveur.

Offline

#8 2019-10-03 14:17:39

elonia15
Member
Registered: 2011-10-17
Posts: 65

Re: Sauvegarde SQL

Super, je vais essayer, merci beaucoup !

Offline

#9 2019-10-07 08:30:49

elonia15
Member
Registered: 2011-10-17
Posts: 65

Re: Sauvegarde SQL

Bonjour,

Avec Adminer, je ne peux réimporter ma base dans le nouveau serveur, cela me dit que je ne peux pas importer de fichier .sql plus grand que 1G et mon fichier fait presque 2G, peut-on faire autrement ?

Merci de votre aide.

Offline

#10 2019-10-07 09:54:40

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: Sauvegarde SQL

Bonjour,

Il y a deux options.
1. Modifier la taille maximale des uploads dans php.ini sur le serveur.
2. compresser le fichier .sql en GZIP. Ca réduira considérablement sa taille. Dans ce cas, il est aussi possible de compresser le fichier au moment de l'export, c'est, me semble-t-il, le plus facile.

Offline

#11 2019-10-07 10:05:35

elonia15
Member
Registered: 2011-10-17
Posts: 65

Re: Sauvegarde SQL

D'accord.
Oui j'ai cherché et j'ai déjà augmenté la taille dans le php.ini mais visiblement… ça ne l'augmente pas dans Adminer.. bizarre …
Je vais essayer votre 2ème solution, merci !

Offline

#12 2019-10-08 10:03:21

eric.le-corre
Member
Registered: 2013-01-07
Posts: 1,005

Re: Sauvegarde SQL

il faut mieux utiliser une sauvegarde en ligne de commande, si vous etes sous linux, je peux vous transmettre mon script qui sauvegarde SQL et les fichiers

Offline

#13 2019-10-08 10:15:52

elonia15
Member
Registered: 2011-10-17
Posts: 65

Re: Sauvegarde SQL

Oui, pourquoi pas, je le veux bien pour regarder.

Offline

#14 2019-10-08 11:05:45

eric.le-corre
Member
Registered: 2013-01-07
Posts: 1,005

Re: Sauvegarde SQL

sauvegarde SQL sur 7 jours :

#!/bin/bash

# Script will output dumps for all databases using seperate files

# Derived from this post: http://www.cyberciti.biz/faq/ubuntu-linux-mysql-nas-ftp-backup-script/

 

USER="root"

PASSWORD="xxxxxx"

HOST="localhost"

MYSQL="$(which mysql)"

MYSQLDUMP="$(which mysqldump)"

OUTPUT_DIR="/home/admin/sauvegarde_SQL"


 

# Parse options

while getopts ":u:p:h:o:" opt; do

    case $opt in

        u)

            USER=$OPTARG

            ;;

        p)

            PASSWORD=$OPTARG

            ;;

        h)

            HOST=$OPTARG

            ;;

        o)

            OUTPUT_DIR=$OPTARG

            ;;

        \?)

            echo "Invalid option: -$OPTARG" >&2

            exit 1

            ;;

        :)

            echo "Option -$OPTARG requires an argument." >&2

            exit 1

            ;;

    esac

done

 

VALIDATION_ERROR=false

 

if [ -z "$USER" ]; then

    echo "User has not been specified" >&2

    VALIDATION_ERROR=true

fi

 

if [ -z "$PASSWORD" ]; then

    echo "Password has not been specified" >&2

    VALIDATION_ERROR=true

fi

 

if [ -z "$OUTPUT_DIR" ]; then

    echo "Output dir has not been specified" >&2

    VALIDATION_ERROR=true

fi

 

if $VALIDATION_ERROR ; then

    exit 1

fi

 

dd=`date +%Y%m%d`

 

DBS="$($MYSQL -u $USER -h $HOST -p$PASSWORD -Bse 'show databases')"

for db in $DBS

do

    if [ $db != "information_schema" ]; then

  FILE=$OUTPUT_DIR/$db$dd.sql

        $MYSQLDUMP -u $USER -h $HOST -p$PASSWORD --skip-lock-tables $db > $FILE

    fi

done

 

# Delete all backups older than 7 days

find /home/admin/sauvegarde_SQL/ -mtime +7 -exec rm -f {} \;

Offline

#15 2019-10-08 11:07:15

eric.le-corre
Member
Registered: 2013-01-07
Posts: 1,005

Re: Sauvegarde SQL

sauvegarde des fichiers sur 10 jours :

#!/bin/bash
#########################
# Backups to DESTINATION_FOLDER / Zips and performs basic rotation
##########################

SOURCE_FOLDER="/var/www/html/" # source folder
DESTINATION_FOLDER="/home/admin/sauv_files/" # mounted folder
BASENAME="basename $SOURCE_FOLDER"
ROTATE_PERIOD=10

# datestamp has a formatted date
datestamp=`date +"%d-%m-%Y"`
#### Display command usage ########
usage()
{
cat << EOF
USAGE:
backuprot [OPTIONS] /source_folder/ /destination_folder/

Back up and entire folder, creates tgz and ,
performs x day rotation of backups Must provide source anddestination folders

OPTIONS:
-p Specify Rotation period in days - default is $ROTATE_PERIOD

EXAMPLES:
backuprot -p 5 [/source_folder/] [/destination_folder/]

EOF
}

#### Getopts #####
while getopts ":p " opt; do
case "$opt" in
p) ROTATE_PERIOD=${OPTARG};;

\?) echo "$OPTARG is an unknown option"
usage
exit 1
;;
esac
done

 

shift $((OPTIND-1))

#if [ -z "$1" ] || [ -z "$2" ]; then
#usage
#else

# Backup and gzip the directory
SOURCE_FOLDER="/var/www/html/"
BASENAME=`basename "$SOURCE_FOLDER"`
TGZFILE="$BASENAME-$datestamp.tgz"
LATEST_FILE="$BASENAME-Latest.tgz"
DESTINATION_FOLDER="/home/adminbrestaim/sauv_files/" 

echo "\nStarting Backup and Rotate "
echo "\n-----------------------------"
echo "\nSource Folder : $SOURCE_FOLDER"
echo "\nTarget Folder : $DESTINATION_FOLDER"
echo "\nBackup file : $TGZFILE "
echo "\n-----------------------------"

if [ ! -d "$SOURCE_FOLDER" ] || [ ! -d "$DESTINATION_FOLDER" ] ; then
echo "SOURCE ($SOURCE_FOLDER) or DESTINATION ($DESTINATION_FOLDER) folder doesn't exist/ or is misspelled, check & re-try."
exit 0;
fi

echo "\nCreating $SOURCE_FOLDER/$TGZFILE ... "
tar zcvf $SOURCE_FOLDER/$TGZFILE $SOURCE_FOLDER
echo "\nCopying $SOURCE_FOLDER/$TGZFILE to $LATEST_FILE ... "
cp $SOURCE_FOLDER/$TGZFILE $SOURCE_FOLDER/$LATEST_FILE

echo "\nMoving $TGZFILE -- to --> $DESTINATION_FOLDER "
mv $SOURCE_FOLDER/$TGZFILE $DESTINATION_FOLDER

echo "\nMoving $LATEST_FILE -- to --> $DESTINATION_FOLDER "
mv $SOURCE_FOLDER/$LATEST_FILE $DESTINATION_FOLDER
# count the number of file(s) in the appropriate folder Rotate the logs, delete older than
# ROTATE_PERIOD days, if their are at_least 7 backups

FILE_COUNT=`find $DESTINATION_FOLDER -maxdepth 1 -type f | wc -l`
echo "\n Rotation period $ROTATE_PERIOD for $DESTINATION_FOLDER "
echo "\n $FILE_COUNT files found in $DESTINATION_FOLDER folder"
echo "\n find $DESTINATION_FOLDER -mtime +$ROTATE_PERIOD"
echo "\n -----------------------------------"
if [ $FILE_COUNT -gt $ROTATE_PERIOD ]; then
echo "Removing backups older than $ROTATE_PERIOD in $DESTINATION_FOLDER"
echo "Removing these old backup files..."
find $DESTINATION_FOLDER -mtime +$ROTATE_PERIOD -exec rm {} \;
else
echo "Only $FILE_COUNT file, NOT removing older backups in $DESTINATION_FOLDER "
fi


echo "----------------"
echo "Backup_rot Complete. :"
echo "to extract file >> tar -xzvf $TGZFILE "

 

Offline

#16 2019-10-08 11:07:50

eric.le-corre
Member
Registered: 2013-01-07
Posts: 1,005

Re: Sauvegarde SQL

il faut les lancer par CRON tous les jours

Offline

Board footer

Powered by FluxBB