PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 19/04/2013 11:15:01

nabil_2013
Membre

sauvegarde du data a froid

bonjour ,
j'ai crée un ptit script , pour sauvegarder le data a froid seulement
lorsque je me loggue a postgres ( su - postgres) car il faut
que je recupere les droits postgres de tous les fichiers dans le repertoire data
le script s'arrete apres su - postgres a l'invite et se stoppe ,
pouvez vous me dire la solution merci à vous




#!/bin/bash
timeslot=`date +%Y%m%d`
backup_dir="/home/svg_data"
#logfile="$backup_dir/log/copie_data-$timeslot.log"
timeinfo=`date '+%T %x'`

#echo "Arret base postgres: $timeinfo " >> $logfile
cd /etc/init.d
./postgresql-9.1 stop

su - postgres

#echo "positionnement dans repertoire data: $timeinfo " >> $logfile
cd /usr/local/pgsql/data

echo "copie du data via cpio : $timeinfo " >> $logfile
find .-print | cpio -ocv > "$backup_dir/data-$timeslot.io"

#echo "redémarrage base postgres: $timeinfo " >> $logfile
cd /etc/init.d/
./postgresql-9.1 start

Hors ligne

#2 19/04/2013 11:32:57

arthurr
Membre

Re : sauvegarde du data a froid

bonjour,

pourquoi ne pas executer le script avec le user Postgres ?

Hors ligne

#3 20/04/2013 22:13:01

gleu
Administrateur

Re : sauvegarde du data a froid

Essayez avec sudo.


Guillaume.

Hors ligne

#4 22/04/2013 12:05:13

Bidou
Membre

Re : sauvegarde du data a froid

Je n'ai pas testé mais pour moi


su - postgres
#echo "positionnement dans repertoire data: $timeinfo " >> $logfile
cd /usr/local/pgsql/data
echo "copie du data via cpio : $timeinfo " >> $logfile
find .-print | cpio -ocv > "$backup_dir/data-$timeslot.io"


Devrait être remplacé par


su - postgres -c '
cd /usr/local/pgsql/data;
echo "copie du data via cpio : $timeinfo " >> $logfile;
find .-print | cpio -ocv > "$backup_dir/data-$timeslot.io"
'


Car là vous passiez en utilisateur postgres mais du coup il arrêtait l’exécution de vos commandes tandis qu'avec le -c il va lancer les commandes que vous aviez indiqué à la suite de votre passage en postgres.

Dernière modification par Bidou (22/04/2013 12:06:03)

Hors ligne

Pied de page des forums