You are not logged in.
Bonjour,
Je me permet de vous faire partager mon script de sauvegarde automatique pour Ubuntu Serveur, permettant ainsi la sauvegarde du logiciel GLPI et d'OCS Inventory ainsi que leurs bases de données respective sur un serveur Windows, de plus une purge est effectué tout les 30 jours. Un contrôle de l’existence des fichiers est aussi mis en place.
Je ne suis pas développeur mais se script fonctionne parfaitement, et je tenais à en faire profiter la communauté.
Les champs bornés <> sont à remplacer par vos valeurs. (Ne pas mettre les <>)
#!/bin/bash
# Initialisation des variables
# Identifiants base de donnee OCS Inventory NG
ocs_server=<Nom du serveur>
ocs_user=<Login BDD>
ocs_password=<MDP BDD>
ocs_database=<Nom de la BDD>
ocs_dir=<Chemin d'accès sur répertoire OCS Server>
# Identifiants base de donnee GLPI
glpi_server=<Nom du serveur>
glpi_user=<Login BDD>
glpi_password=<MDP BDD>
glpi_database=<Nom de la BDD>
glpi_dir=<Chemin d'accès sur répertoire OCS Server>
# Date fichier + purge
current_date=`date +%Y-%m-%d_%H-%M`
day_purge=30
# Dossier de sauvegarde des bases de donnees et des applications
save_base=<Dossier de destination des sauvegardes BDD>
save_appli=<Dossier de destination des sauvegardes Applicative>
save_temp=/tmp/backup-ocs-glpi
# DUMP de la base OCS Inventory
echo "Extractiob de la base OCS Inventory NG"
mysqldump -h$ocs_server -u$ocs_user -p$ocs_password $ocs_database > $save_temp/ocs_database_$current_date.sql
echo "Done"
# DUMP de la base GLPI
echo "Extraction de la base GLPI"
mysqldump -h$glpi_server -u$glpi_user -p$glpi_password $glpi_database > $save_temp/glpi_database_$current_date.sql
echo "Done"
# Copie des repertoires applicatif
echo "Copie des repertoires applicatif en cour"
cp -r -u $ocs_dir $save_appli
cp -r -u $glpi_dir $save_appli
echo "Done"
# Copie des fichiers de base de donnees dans save_base
echo "Copie des fichiers de base de donnee en cour"
cp -u $save_temp/* $save_base
echo "Done"
echo "Supression des fichiers temporaires"
rm $save_temp/*
echo "Done"
# Test de transfert sur le serveur distant
if [-e $save_base/ocs_database_$current_date.sql]
then echo "La base de donnee OCS a bien ete copier"
else echo "La base de donnee OCS n a pas ete copier"
fi
if [-e $save_base/glpi_database_$current_date.sql]
then echo "La base de donnee GLPI a bien ete copier"
else echo "La base de donnee GLPI n a pas ete copier"
fi
# Purge des fichiers de sauvegarde present sur le serveur distant
echo "Recherche et suppression des fichiers de plus de 30 jours"
find $dir_save -mtime +$day_purge -exec rm {} \;
echo "Done"
exit 0
ATTENTION ..! : Veuillez éditez votre script avec un outil compatible Linux, pour ceux qui travail sous Windows .... (dos2unix)
Vous avez la possibilité d'ajouter se script en tâche planifié.
Pour ce faire :
Éditez le fichier "/etc/crontab" et ajoutez la ligne suivante :
00 23 * * * root /<Localité du script>
Cette tache sera effectué tout les jours à 23h00.
J'espère que sa pourra vous aider.
Last edited by rataman (2013-05-22 16:23:39)
Offline