You are not logged in.
Pages: 1
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
Et est-ce que quelqu'un aurai une idée aussi quelle taille ferait la sauvegarde une fois terminée (environ) ?
Offline
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
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
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.
Offline
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
Offline
Les valeurs par défaut donnent un fichier que l'on peut réinjecter pour migrer de serveur.
Offline
Super, je vais essayer, merci beaucoup !
Offline
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
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
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
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
Oui, pourquoi pas, je le veux bien pour regarder.
Offline
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
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
il faut les lancer par CRON tous les jours
Offline
Pages: 1