Procédure de sauvegarde de PostgreSql COPY_DATABASA.sh #!/bin/bash # # cp based backup script. # if [! -d "/media/VOTRE_DOSSIER/SAUVEGARDE" ] echo "bonjour" dat=$(date +%Y%m%d) cd "/media/soleil/EXT4/" 2>/dev/null RetourCode=${?} if [[ $RetourCode == 1 ]] then echo "Branche le lecteur" exit 1 fi echo -n "Voulez-SAUVEGARDER Y/N : " read ouinon if [ "$ouinon" = "y" ] || [ "$ouinon" = "Y" ] then cd "/media/VOTRE_DOSSIER/EXT4/" chemin_sav="/media/VOTRE_DOSSIER/EXT4/DATABASE_"$dat mkdir $chemin_sav 2>/dev/null RetourCode=${?} if [[ $RetourCode == 1 ]] then echo "Dossier de sauvegarde déjà existant" exit 1 fi cd $chemin_sav RetourCode=${?} if [[ $RetourCode == 1 ]] then echo "Dossier inacessible" exit 1 fi export PATH=$PATH:/opt/PostgreSQL/bin echo "sauvegarde PostgreSQL CGIFCH" CGIFCH_DATA="CGIFCH_DATA_"$dat".backup" CGIFCH_SCHEMA="CGIFCH_SCHEMA_"$dat".backup" echo -n "File PostgreSQL --- A Sauvegarder :" echo "$CGIFCH_DATA" echo -n "File PostgreSQL --- A Sauvegarder :" echo "$CGIFCH_SCHEMA" # DATA pg_dump --format custom -a --encoding utf8 --host 127.1.1 --port 5432 --username postgres CGIFCH > $CGIFCH_DATA # SCHEMA pg_dump --format custom --section pre-data --section post-data --encoding utf8 --host 127.1.1 --port 5432 --username postgres CGIFCH > $CGIFCH_SCHEMA echo "sauvegarde BD Terminer" elif [ "$ouinon" = "n" ] || [ "$ouinon"= "N" ] then echo "Ok, bye!" exit 0 else echo "Il faut taper Y ou N!! Pas $ouinon" exit 0 fi exit 0
Procédure de restauration de PostgreSql
RESTORE_DATABASE.sh #!/bin/bash # # cp based backup script. # # pg_restore --host 127.1.1 --port 5432 --username postgres --clean --dbname CGIFCH $CGIFCH avec delete avant # # pg_restore --host 127.1.1 --port 5432 --username postgres --format=custom --dbname CGIFCH $CGIFCH vierge # # if [! -d "/media/VOTRE_DOSSIER/6528-D95D/SAUVEGARDE/" ] disk dur de sauvegarde # then # echo "Branche le lecteur" # exit 1 # fi # cd /media/VOTRE_DOSSIER/6528-D95D/SAUVEGARDE/ # disk USB de sauvegarde cd "/media/VOTRE_DOSSIER/EXT4/" 2>/dev/null RetourCode=${?} if [[ $RetourCode == 1 ]] then echo "Branche le lecteur" exit 1 fi cd /media/VOTRE_DOSSIER/EXT4/ export PATH=$PATH:/opt/PostgreSQL/bin echo "recuperation RESTAURE BDsql: " echo -n "Entrez: sa date de sauvegarde : " read dat chemin_sav="/media/VOTRE_DOSSIER/EXT4/DATABASE_"$dat echo "$chemin_sav" cd $chemin_sav>/dev/null RetourCode=${?} if [[ $RetourCode == 1 ]] then echo "Dossier de sauvegarde inexistant" exit 1 fi export PATH=$PATH:/opt/PostgreSQL/bin CGIFCH_SCHEMA="CGIFCH_SCHEMA_"$dat".backup" CGIFCH_DATA="CGIFCH_DATA_"$dat".backup" echo -n "File PostgreSQL --- A Restaurer :" echo "$CGIFCH_SCHEMA" echo -n "File PostgreSQL --- A Restaurer :" echo "$CGIFCH_DATA" if [ -e "$CGIFCH_DATA" ] then echo -n "Voulez-Restaurer Y/N : " read ouinon echo -e "attention protection exit 0 " echo -n "Restauration de la base de données " if [ "$ouinon" = "y" ] || [ "$ouinon" = "Y" ] then # recharge et creation des tables et leurs definitions pg_restore --host localhost --port 5432 --username postgres --dbname CGIFCH $CGIFCH_SCHEMA # recharge les données pg_restore -a --host localhost --port 5432 --username postgres --dbname CGIFCH $CGIFCH_DATA echo "restaurer controler avec un vacum general " exit 0 elif [ "$ouinon" = "n" ] || [ "$ouinon" = "N" ] then echo "Ok, bye! " exit 0 else echo "Il faut taper Y ou N!! Pas $ouinon" exit 0 fi else echo "Le fichier n'existe pas, du moins n'est pas dans le répertoire d'exécution du script" fi exit 0
return