Skip to content

Sauvegardes et restaurations

Une fonction de sauvegarde est présente dans le logiciel dans "Administration" et "Sauvegardes", vous permettant de télécharger une archive de vos fichiers et de la base de données.
Cependant nous vous recommandons grandement d'automatiser ces sauvegardes en suivant l'une des procédures suivantes :
A noter : Il est possible que la fonction intégrée à l'application, ne puisse fonctionner si vous vous avez un volume trop important de données à sauvegarder, utiliser alors les procédures de sauvegardes automatiques

Sauvegarde Automatique Linux en local

Créer un fichier "save.sh" avec un éditeur de texte
Intégrer les lignes suivantes :

#!/bin/sh
mkdir /backup
mkdir /temp/backup
mysqldump --databases nombasegestsup --user=root --password=PASS --lock-tables | gzip -c > /temp/backup/`date +%F`.sql.gz
cp -R /var/www/html/* /temp/backup
zip -r /backup/backup_gs_`date +%F`.zip /temp/backup/*
rm -R /temp/backup/*
cd  /backup
#remove old backup
rm `ls -t backup*.zip | awk 'NR>7'`

Créer une tâche planifiée pour exécuter ce script :

nano /etc/crontab

Ajouter la ligne:

0 0 * * * root sh /mon_repertoire/save.sh

Pour une sauvegarde tous les jours à minuit.

Sauvegarde Manuelle Linux

Connectez-vous en root sur le serveur GestSup
Créer un répertoire de sauvegarde :

mkdir /backup

Copier les fichiers dans un répertoire de sauvegarde:

cp -R /var/www/html/gestsup/* /backup

Copier la base de données dans un répertoire de sauvegarde:

mysqldump --all-databases --user=root --password=PASS --lock-tables | gzip -c > /backup/DB_bkp.sql.gz

Sauvegarde Automatique Linux vers un serveur FTP

Installer les paquets suivants :

 apt install zip && apt install lftp

Créer un fichier "save.sh" avec un éditeur de texte
Intégrer les lignes suivantes :

#!/bin/sh
mkdir /backup
mysqldump --user=DB_USER --password=DB_PASSWORD --lock-tables --databases DB_NAME | gzip -c > /backup/`date +%F`.sql.gz
cp -R /var/www/html/gestsup/* /backup
zip -r /backup/backup`date +%F`.zip /backup/*
cd /backup

lftp -u FTP_USER_NAME,FTP_PASSWORD FTP_SERVER:FTP_PORT << EOF
set ssl:verify-certificate no
set net:max-retries 5
set ftp:ssl-force true
cd /BACKUP_DIRECTORY
put backup`date +%F`.zip
bye
EOF

rm -R /backup/*

Créer une tâche planifiée pour exécuter ce script nano /etc/crontab Ajouter la ligne :

0 0 * * * root sh /mon_repertoire/save.sh

pour une sauvegarde tous les jours à minuit.

Sauvegarde Automatique Windows

Créer un fichier "save.bat" avec un éditeur de texte
Intégrer les lignes suivantes :

@echo off
rem sauvegarde de la base de données nommée bsup
"C:\wamp64\bin\mariadb\mariadb10.2.14\bin\mysqldump.exe" -u root --opt bsup -h localhost > c:\wamp64\www\%DATE:~6,4%_%DATE:~3,2%_%DATE:~0,2%_bak_gestsup.sql
rem sauvegarde des fichiers sur un autre serveur ayant un répertoire partagé 
xcopy C:\wamp64\www\*.* \\serveur\Backups\GestSup /s/e/y >NUL 2>&1

Créer une tâche planifiée pour exécuter ce script.

Sauvegarde Manuel Windows

  • Depuis votre serveur, accédez à http://localhost/phpmyadmin
  • Sélectionner votre base de données
  • Cliquez sur l'onglet exporter puis exécuter
  • Enregistrer le fichier sur votre emplacement de sauvegarde
  • Copiez tous les fichiers du répertoire "c:\wamp\www\gestsup" sur votre emplacement de sauvegarde

Restauration complète Linux

  • Récupérer une sauvegarde de vos fichiers et de votre base de données de votre ancien serveur, en utilisant la fonction de sauvegarde intégrée à l'application (Administration > Sauvegarde).
  • Vous récupérez alors un fichier compressé (zip) contenant l'ensemble des fichiers de l'application, la base de données se trouve dans le répertoire "_SQL" sous le nom "AAAA_MM_JJ_HH_MM_SS-backup-gestsup-VERSION-XXXX.sql" (à noter : une copie du fichier de sauvegarde est également dans le répertoire /backup du serveur)
  • Transférer l'ensemble des fichiers de l'application, sur votre nouveau serveur dans le répertoire "/var/www/html"
  • Sur le nouveau serveur, appliquer les droits sur les fichiers et les répertoires

    chown -R gestsup:www-data /var/www/html/
    find /var/www/html/ -type d -exec chmod 750 {} \;
    find /var/www/html/ -type f -exec chmod 640 {} \;
    chmod 770 -R /var/www/html/upload
    chmod 770 -R /var/www/html/images/model
    chmod 770 -R /var/www/html/backup
    chmod 770 -R /var/www/html/_SQL

  • Sur le nouveau serveur avec PhpMyAdmin, créer une base de données avec le nom "bsup".

  • Sur le nouveau serveur avec PhpMyAdmin, sélectionner la base bsup, puis cliquer l'onglet "importer", sélectionner le fichier de base de données "AAAA_MM_JJ_HH_MM_SS-backup-gestsup-VERSION-XXXX.sql", puis cliquer sur "importer".
  • Sur le nouveau serveur, vous pourrez vérifier sur le fichier "/var/www/html/connect.php", que les identifiants de connexion à la base de données sont corrects.

Restauration d'une table

Si vous avez fait une erreur en supprimant un élément d'une liste par erreur et que vous souhaitez restaurer juste cette liste, et non pas toute l'application. Dans notre exemple nous verrons comment restaurer la liste des sociétés, on imagine que l'une d'entre elles a été supprimée par erreur.

  • Récupérer depuis votre sauvegarde le fichier SQL contenant votre base de données. (Fichier .sql)
  • Connectez-vous sur l'interface PhpMyAdmin de votre serveur GestSup (généralement http://monserveur/phpmyadmin )
  • Depuis l'onglet "Base de données" créez une nouvelle base de données nommée "bsup_restore" par exemple.
  • Depuis l'onglet "Base de données" sélectionnez la base de données nommée "bsup_restore".
  • Depuis l'onglet "Import" sélectionner le fichier de votre sauvegarde finissant par .sql, vérifier le jeu de caractères UTF-8, puis cliquer sur "Exécuter".
  • Vos données sont actuellement restaurées dans une base temporaire, nous allons en extraire la table qui nous intéresse.
  • Dans la liste des tables, sélectionner la table "tcompany" contenant la liste des sociétés.
  • Une fois sur la table, sélectionner l'onglet "Export" puis cliquer sur "Exécuter" et sauvegarder le fichier tcompany.sql.
  • Depuis l'onglet "Base de données" sélectionner la base de données de production nommée "bsup" par exemple, puis sélectionner la table "tcompany".
  • Depuis l'onglet "Opération" supprimez la table actuelle en sélectionnant l'option "Supprimer la table (DROP)".
  • Une fois la table supprimée, aller sur l'onglet "Import" puis sélectionner votre fichier "tcompany.sql" vérifier que vous êtes en UTF-8 puis "Exécuter".
  • Votre table est désormais restaurée.

Pour les autres listes, voici les correspondances avec les tables (Catégorie=tcategory, Sous-Catégorie=tsubcat, Criticité=tcriticality, État des tickets=tstates, Lieux=tplaces, Modèle de ticket=tmodels, Priorité=tpriority, Service=tservices, Temps=ttime, Types des tickets, ttypes, Type des matériels=tassets_types, Fabricant des matériels=tassets_manufacturer, Modèle de matériel=tassets_model, État des matériels=tassets_states, Réseau des matériels=tassets_network).