backup Base de données postgre linux

backup Base de données postgre linux - Linux et OS Alternatifs

Marsh Posté le 19-03-2004 à 13:49:17    

Bonjour,
 
Je dois éditer un script de backup d'une base de données postgre d'un serveur linux.
Est-ce que qq'un connait la manip?
merci
 

Reply

Marsh Posté le 19-03-2004 à 13:49:17   

Reply

Marsh Posté le 19-03-2004 à 13:53:09    

pg_dump ou pg_dumpall

Reply

Marsh Posté le 19-03-2004 à 13:54:47    

Reply

Marsh Posté le 19-03-2004 à 14:47:09    

J'ai donc essayé tout ca mais quand je le lance y a une erreur!
 
mon script:
 
pg_dump -o -b -U login -Ft >/scripts_backup/montage_backup/backup/bdd
.sql.tar
 
l'erreur:
pg_dump: [archiver (db)] connection to database "login" failed: FATAL:  IDENT authentication failed for user "login"
 
je comprend pas pourquoi... :(

Reply

Marsh Posté le 19-03-2004 à 14:55:00    

authentication failed for user "login"
il existe ? il a le droit de faire quoi ?


Message édité par GUG le 19-03-2004 à 14:55:22
Reply

Marsh Posté le 19-03-2004 à 15:04:31    

RTFM bourdail!
 

Code :
  1. pg_dump -o -b -U login -Ft nomDeTaBase >/scripts_backup/montage_backup/backup/bdd
  2. .sql.tar

Reply

Marsh Posté le 19-03-2004 à 15:15:39    

Mon login existe bien et il est meme root
 
arghbis: ca me donne le meme resultat!!!

Reply

Marsh Posté le 19-03-2004 à 15:22:08    

si tu fais un psql -U login taBase, ça marche

Reply

Marsh Posté le 19-03-2004 à 15:48:29    

kel est l'utilisateur ki gère la base ? postgres ? ou autre ? cela tu dois le savoir, ensuite tu lance la commande avec -U celuikigèrelabase
 
si vraiment cela merde la solution est la suivante :
 
su  -c "pg_dump -U celuikigere ....." celuikigere
 
 
cela lance la commande sous l'identité de l'utlisateur celuikigere


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 19-03-2004 à 15:52:42    

arghbis:Je viens d'essayer mais:
 
psql: FATAL:  IDENT authentication failed for user "login"


Message édité par tourist77 le 19-03-2004 à 15:53:29
Reply

Marsh Posté le 19-03-2004 à 15:52:42   

Reply

Marsh Posté le 19-03-2004 à 15:54:19    

donc ton user login est soit inconnu, soit tu n'as pas donné le bon password quand il te l'a demandé

Reply

Marsh Posté le 19-03-2004 à 16:03:21    

arghbis: il ne me demande pas de password
 
dark_schneider: j'ai fais la commande su... et la ca fais 5min que y a des chiffres qui deroulent et c'est pas finit!!!

Reply

Marsh Posté le 19-03-2004 à 16:05:15    

cela signie ke l'utilisateur login n'a pas le droit d'accéder à la base
 
c'est la base ki refuse l'accès. lis stp la doc de postgres avant !
 
http://www.postgresql.org/docs/7.4 [...] ation.html
 
il doit être spécifié ke pour les connexion locales il faut utiliser ident dans le fichier pg_hba.conf


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 19-03-2004 à 16:06:19    

tourist77 a écrit :

arghbis: il ne me demande pas de password
 
dark_schneider: j'ai fais la commande su... et la ca fais 5min que y a des chiffres qui deroulent et c'est pas finit!!!


 
donc ca marche
 
fais CTRL+C
 
pour être sûr qu'il se connecte vraiment tu fais :
 
su  -c "pgsql -U celuikigere -d nomdelabase" celuikigere


Message édité par Dark_Schneider le 19-03-2004 à 16:06:52

---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 19-03-2004 à 16:14:28    

pgsql ou pg_dump?

Reply

Marsh Posté le 19-03-2004 à 16:16:00    

même commande que celle que tu as faite, sauf que login est remplacé par celuiquigère
 
et RTFM non de nom!

Reply

Marsh Posté le 19-03-2004 à 16:16:20    

j'ai dis pgsql, c'est pour juste voir si tu te connectes à la base
 
cf doc ( ident )
 

Code :
  1. ident
  2. Obtain the operating system user name of the client (for TCP/IP connections by contacting the ident server on the client, for local connections by getting it from the operating system) and check if the user is allowed to connect as the requested database user by consulting the map specified after the ident key word.
  3. If you use the map sameuser, the user names are required to be identical. If not, the map name is looked up in the file pg_ident.conf in the same directory as pg_hba.conf. The connection is accepted if that file contains an entry for this map name with the operating-system user name and the requested PostgreSQL user name.
  4. For local connections, this only works on machines that support Unix-domain socket credentials (currently Linux, FreeBSD, NetBSD, OpenBSD, and BSD/OS).
  5. See Section 19.2.4 below for details.


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 19-03-2004 à 16:21:17    

J'ai tapé la ligne et ca m'a repondu ca:
 
bash: /root/.bashrc: Permission non accordée
bash: line 1: pgsql: command not found

Reply

Marsh Posté le 19-03-2004 à 16:26:48    

désolé la commande est psql et non pgsql


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 19-03-2004 à 16:30:47    

oki
alor ca me donne ca:
 
bash: /root/.bashrc: Permission non accordée
Welcome to psql 7.3.2, the PostgreSQL interactive terminal.
 
Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help on internal slash commands
       \g or terminate with semicolon to execute query
       \q to quit
 
ajaccio=#  
 
 
sachant que ajaccio=login=nom de la base

Reply

Marsh Posté le 19-03-2004 à 16:31:46    

apres le #, y a le curseur qui clignote et qui attend que je fasse qqchose...

Reply

Marsh Posté le 19-03-2004 à 16:33:02    

donc ma théorie est la bonne, pour utiliser la base il faut être connecté en tant k'utilisateur ajaccio.
 
donc soit tu conf ident ( cf doc ), soit tu utilises su dans ton script.
 
lorsque les nombres défilait c'était le dump ki se faisait. lis la doc de postgresql


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 19-03-2004 à 16:36:07    

comment j'utilise su dans le script?

Reply

Marsh Posté le 19-03-2004 à 16:36:07    

tourist77 a écrit :

apres le #, y a le curseur qui clignote et qui attend que je fasse qqchose...


 
c'est la ligne de commande de Postgres.
tu peux entrée les commandes sql directement dedans.
 
\dt : liste des tables
\dS : liste des tables système
\? : liste des commandes Postgres
SELECT * FROM nomtable;  : affiche le contenu de nomtable


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 19-03-2004 à 16:36:50    

tourist77 a écrit :

comment j'utilise su dans le script?


 
tu écris tel kel.
 
ce ke tu mets dans un script c'est la même chose ke ce ke tu entre directement dans une console/un terminal.


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 19-03-2004 à 16:37:56    

Dark_Schneider a écrit :

donc ma théorie est la bonne, pour utiliser la base il faut être connecté en tant k'utilisateur ajaccio.


 
mais pourtant je me connecte en ajaccio!!!

Reply

Marsh Posté le 19-03-2004 à 16:40:14    

mais l'utilisateur ki lance la commande n'est pas ajaccio.
 
quand tu tapes "pg_dump ...." l'utilisateur ki tape et lance cette commande n'est pas ajaccio mais root.
 
lis l'encart de la doc ke je t'ai donné.
ident vérifie ke l'utilisateur ki se connecte à la base est le même ke celui ki lance la commande. si tu veux ke root puisse se connecter à la base en tant qu'ajaccio, il faut faire un alias dans le fichier pg_ident.conf ( cf doc )
 
 
su = switch user. su permet de se connecter ou de lancer une commande en tant qu'un autre utilisateur.
 
su -c "ma commande" monuser    <--- cette ligne signifie k'il faut lancer la commande "ma commande" sous l'identité de l'utilisateur monuser
Pour plus d'info :
man su
man psql
man pg_dump


Message édité par Dark_Schneider le 19-03-2004 à 16:42:46

---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 19-03-2004 à 16:41:53    

je tape ca?  :
 
su  -c "psql -U ajaccio -d ajaccio" ajaccio
pg_dump -o -b -U ajaccio ajaccio>/scripts_backup/montage_backup/ajaccio/bdd_ajaccio.sql.tar

Reply

Marsh Posté le 19-03-2004 à 16:44:02    

je ne comprend pas tout dans la doc, je suis pas tres fort en anglais!!!!

Reply

Marsh Posté le 19-03-2004 à 16:49:31    

là cel m'énerve.
 
psql : permet de se connecter à une base et éventuellement de lancer des commandes
 
pg_dump : permet de sauvegarder une base.
 
je t'ai parlé de psql juste pour ke tu vérifies ke tu te connectais bien à la base. Pour sauvegarder une base tru n'en a pas besoin. utilise pg_dump
 

Code :
  1. su -c "pg_dump -o -b --format=t -U ajaccio  --file=/scripts_backup/montage_backup/ajaccio/bdd_ajaccio.sql.tar ajaccio" ajaccio


 
lis la page de manuel de pg_dump pour une explication des options.
 
man pg_dump
 
 


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 19-03-2004 à 16:50:07    

tourist77 a écrit :

je ne comprend pas tout dans la doc, je suis pas tres fort en anglais!!!!


 
alors améliore ton anglais, en informatique c'est INDISPENSABLE !!! ( notamment sous linux )


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 19-03-2004 à 17:01:25    

j'ai tapé ce que tu as mis au dessus:
 
bash: /root/.bashrc: Permission non accordée

Reply

Marsh Posté le 19-03-2004 à 21:16:29    

et t'aurais pas un zoli fichier /scripts_backup/montage_backup/ajaccio/bdd_ajaccio.sql.tar par hasard???

Reply

Marsh Posté le 22-03-2004 à 10:31:32    

oui je l'ai!!!

Reply

Marsh Posté le 22-03-2004 à 11:49:15    

:sweat:


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed