Une place pour une véritable innovation. Partagez vos propres utilitaires créés avec la communauté Manjaro.
Questions et discussions sur la programmation et le codage.
Répondre

procedure sauvegarde/restore postgresql

#1Messageil y a 4 ans

bonjour:

CGIFCH: remplacer par le nom de votre base de données
UpdateBD : folder ou vous sauvegarder


SAUVEGARDE

[
#!/bin/bash
Fonc_postgresql()
{

 
echo -e "File PostgreSQL ---DATA en Sauvegarde :"
PGSQL_DATA="PGSQL_DATA_CGIFCH_"$dat".backup" 
# DATA
pg_dumpall     --data-only  --encoding utf8 --host 127.0.0.1 --port 5432 --username postgres --database CGIFCH -f $PGSQL_DATA
	if [ $? -ne 0 ]
	then  
		echo "une erreur est survenue pendant la sauvegarde veuillez corriger POSTGRESQL ---DATA"
		exit 1
	fi
echo -e "\n"
echo -e "File PostgreSQL --- SCHEMA  en Sauvegarde:"
PGSQL_SCHEMA="PGSQL_SCHEMA_CGIFCH_"$dat".backup"
# SCHEMA
pg_dumpall  --schema-only  --encoding utf8 --host 127.0.0.1 --port 5432 --username postgres --database CGIFCH -f $PGSQL_SCHEMA 
	if [ $? -ne 0 ]
	then  
		echo "une erreur  pendant la sauvegarde veuillez corriger POSTGRESQL ---SCHEMA"
		exit 1
	fi
echo -e "\n sauvegarde BD PostgreSql Termine"
}

#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# le main
#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

echo "bonjour"  
dat=$(date +%Y%m%d) 

cd "$HOME/UpdateBD/" 2>/dev/null
RetourCode=${?}   

if [[ $RetourCode == 1 ]]
then  
echo "Branche le lecteur"
exit  1
fi
	

echo -e "Voulez-SAUVEGARDER Y/N? : "
read yes
if [ "$yes" = "y" ] || [ "$yes" = "Y" ]
then

	chemin_sav="$HOME/UpdateBD/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 

	echo -e "Sauvegarde PostGresql : Y/N  :"
	read yesp
	if [ "$yesp" = "y" ] || [ "$yesp" = "Y" ] 
	then
		Fonc_postgresql $dat
	fi



fi
echo "Ok, bye!"
exit 0
=================================================================================
=================================================================================
RESTORE

#!/bin/bash
Fonc_postgresql()
{

PGSQL_SCHEMA="PGSQL_SCHEMA_CGIFCH_"$dat".backup"
if [ -e "$PGSQL_SCHEMA" ]
then
# recharge et creation des tables et leurs definitions 
# on ne signifie pas -d CGIFCH parce que la restauration vas recréer la database avec les roles et schemas 
	echo -n "File PostgreSQL ---SCHEMA  A Restaurer :"
	psql -U postgres -v ON_ERROR_ROLLBACK=ON  -f $PGSQL_SCHEMA
	if [ $? -ne 0 ]
	then  
		echo "une erreur est survenue pendant la restauration veuillez corriger   POSTGRESQL ---SCHEMA "
		exit 1
	fi
# recharge les données 
	PGSQL_DATA="PGSQL_DATA_CGIFCH_"$dat".backup"
	echo -n "File PostgreSQL ---DATA  A Restaurer :"
	psql -U postgres -d CGIFCH  -f $PGSQL_DATA
	if [ $? -ne 0 ]
	then  
		echo "une erreur est survenue pendant la restauration veuillez corriger   POSTGRESQL ---DATA "
		exit 1
	fi
	echo  "restorer controler avec un vacum general \n\n\n"
fi;
}

#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# le main
#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

echo "bonjour" 
# disk USB  de sauvegarde 

cd "$HOME/UpdateBD/" 2>/dev/null  
RetourCode=${?}   

if [[ $RetourCode == 1 ]]
then  
	echo "Branche le lecteur"
	exit  1
fi

cd $HOME/UpdateBD/

echo "recuperation Restaure BDsql: "
echo -n "Entrez: la date de sauvegarde : "
read dat


chemin_sav="$HOME/UpdateBD/DATABASE_"$dat
cd $chemin_sav 2>/dev/null
RetourCode=${?}  

if [[ $RetourCode == 1 ]]
then
	echo "Dossier de sauvegarde inexistant"
	exit  1
fi

 
	echo -e "Restauration de la base de données PostGresql  Y/N  \n"
	read yes
	if [ "$yes" = "y" ] || [ "$yes" = "Y" ] 
	then
		Fonc_postgresql $dat 
	fi

echo "Ok, bye! " 
exit 0
[/code
Répondre