Vous n'êtes pas identifié(e).
Pages : 1
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
bonjour,
pourquoi ne pas executer le script avec le user Postgres ?
Hors ligne
Essayez avec sudo.
Guillaume.
Hors ligne
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
Pages : 1