|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2007 Messages : 66 ![]() |
Bonjour,
je dois réaliser une sauvegarde automatique d'une base de données postgresql sous windows tous les jours à une certaine heure. Comment procéder? Apparemmment, il faut faire un fichier batch, mais ou le placer ? que mettre dedans ? et comment va-t-il lancer la procédure tout seul? je suis un peu perdu. |
|
|
00
|
|
|
#2 | |||
|
Membre habitué
![]() Inscription : août 2007 Messages : 128 ![]() |
Citation:
Citation:
Citation:
|
|||
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : mars 2007 Messages : 65 ![]() |
Bonjour,
J'ai la même opération à réaliser et je me pose les mêmes questions. Si tu as trouvé comment procéder, je suis preneur de quelques informations. merci d'avance |
|
|
00
|
|
|
#4 |
|
Inactif
![]() Inscription : novembre 2004 Messages : 247 ![]() |
Bonjour
Je ne suis pas très spécialisé sous Mic.. (XP) Je crois qu'il y a dans le menu Accessoires -> outils système -> Taches planifiées qui doit faire l'équivalence de crontab Unix. Il suffit de faire un xxx.bat dans le repertoire bin de Pg et l'appeler avec la boite de selection fichiers de cet utilitaire. |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : mars 2007 Messages : 65 ![]() |
Merci bien pour la réponse.
La partie concernant la mise en place d'une tache planifiée sous Windows, je vois comment faire, j'ai déjà eu l'occasion d'en utiliser. La où je reste dans le flou, c'est dans le contenu du fichier .bat pour sauvegarder ma base de données. Je souhaite sauvegarder quotidiennement ma base de données (structure + données). Dans la doc de postgreSQL, j'ai trouvé des infos concernant la commande pg_dump, mais je ne vois pas trop comment l'utiliser dans un .bat, ni quelles options ajouter à cette commande pour sauvegarder ma base (strucutre+données) |
|
|
00
|
|
|
#6 |
|
Inactif
![]() Inscription : novembre 2004 Messages : 247 ![]() |
Il faut lire les options de pg_dump dans la documentation
(strucutre+données) ??? (si votre (+) veut dire (et)) utilisez -s pour la structure sans les données -o c'est pour les (OID) -C pour recreer la base etc ... le fichier .bat qui est dans le rep bin de PG contient uniquement l'instruction avec son path: pg_dump.exe -o -C mabase > c:\mon_rerpertoire_au choix\mabase.saved (retour de ligne) pour faire plusieurs instructions il faut aller à ligne et faire suivre les commandes. Pour restorer rien a voir avec le.bat précédent psql.exe c:\lmon_rerpertoire_au_choix\mabase < mabase.saved Pour plus d'infos cherchez sur le web "faire un fichier batch dos" Bon courage |
|
|
00
|
|
|
#7 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2005 Messages : 72 ![]() |
Ceci est un script de sauvegarde windows :
il sauvegarde toutes les base dans set "rep_sav=C:\\backup\\db" principe création d'un fichier temporaire "backup_pg_temp.bat" qui contient pour chaque base : - création des répertoires sur C:\\backup\\db\\mabase1 s'il n'existe pas - création du dump (je préfère le format sql) - compression du dump avec gzip.exe placer ce code dans un backup_all_pg.bat et placer l'appel de ce fichier dans le gestionnaire de tache planifiés Code :
|
||
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : mars 2007 Messages : 65 ![]() |
Merci beaucoup pour ton script, mais je n'ai pas réussit à le faire fonctionner correctement.
Et je cherche toujours comment sauvegarder ma base de données postgresql sous Windows. J'ai regardé dans la faq et dans un fichier .bat, j'ai mis l'instruction suivante Code :
pg_dump -i -h 192.168.40.15 -p 5432 -U postgres -F c -v -f "c:/Temp/save.back" "mabase"; |
|
|
00
|
|
|
#9 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2005 Messages : 72 ![]() |
Pour ne pas avoir a taper le mot de passe il existe deux manières :
soit modifier le pg_hba.conf de ton serveur et ajouter host all all XXX.XXX.XXX.XXX/32 trust XXX.XXX.XXX.XXX etant ton ip et modifier posgresql.conf mettre listen_addresses = '*' a la place de listen_addresses = 'localhost' redemarrer le serveur OU si tu est en dhcp créer sous windows vista : C:\Users\Matta\AppData\Roaming\postgresql\pgpass.conf avec YYY.YYY.YYY.YYY:5432:*:postgres:lemotdepasse YYY.YYY.YYY.YYY est l'ip du serveur sous XP il faut faire a peu prés la même chose mais les répertoires sont différents sinon Code :
pour le script arrive tu a générer le backup_pg_temp.bat ? PS : tu n'as pas besoin du -i a priori je préfère les formats plan -F p |
||
|
|
00
|
|
|
#10 | ||||
|
Nouveau Membre du Club
![]() Inscription : mars 2007 Messages : 65 ![]() |
Je vous remercie beaucoup pour l'attention que vous portez à mon problème.
Effectivement, le nom de ma base ne doit pas être entre guillemets. J'ai trouvé comment sauvegarder et restaurer ma base de données. J'utilise les commandes suivantes : pour la sauvegarde... Code :
Code :
|
||||
|
|
10
|
|
|
#11 | ||
|
Nouveau Membre du Club
![]() Inscription : novembre 2004 Messages : 136 ![]() |
Hello, une autre solution sous windaube
(perso je suis plus linux).J'ai fait un petit script en vbs. Il suffit de le lancer une fois par jour vers 23 heures par exemple: Il fait au passage un vaccum analyse puis sauvegarde en faisant tourner les backup sur 6 jours. Code :
![]() Bye |
||
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 16 ![]() |
j'ai essaye le script de cubepiege mais au niveau de cette ligne :
Wshell.Run "vacuumdb -z -d "&datname&" -h localhost -U postgres",1,True il ya une erreur: fichier introuvable. est-ce que cubepiege peut m'aider à corriger cette erreur la .Merci d'avance |
|
|
00
|
|
|
#13 |
![]() ![]() Inscription : octobre 2008 Messages : 1 509 ![]() |
Les versions assez récentes de PostgreSQL ont autovacuum activé si bien qu'il n'est pas nécessaire d'exécuter vacuumdb en tant que commande externe.
Le plus simple est de l'enlever du script. |
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 16 ![]() |
j'utilise postgesql 8.2 .Quand j'enlève cette ligne du script,la ligne suivante signale la meme erreur
|
|
|
00
|
|
|
#15 |
![]() ![]() Inscription : octobre 2008 Messages : 1 509 ![]() |
L'erreur vient sans doute du fait que pg_dump.exe n'est pas dans le PATH
Il faudrait le lancer via son chemin complet pour éviter ça. Pour la version 8.2, autovacuum existe mais je ne suis pas sûr qu'il soit activé par défaut. Ca se vérifie sous psql avec et si nécessaire c'est changeable dans le fichier postgresql.conf |
|
|
00
|
|
|
#16 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2004 Messages : 136 ![]() |
Hello les gens.
Je confirme, il faut renseigner dans le PATH (variables d 'environnement) l'emplacement des exe de postgres dans windaube. bye |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com