|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2005 Messages : 7 ![]() |
salut,
je cherche une solution de sauvegarde à distance et automatique de base de données postgresql. j'aimerai savoir si des outils existent déjà pour cela, ou si je dois écrire des scripts shell ou des programmes (avoir un outil de developpement comme VB ou C ). et si possible envoyer moi un exemple de script de sauvegarde de base de données nb: le format de base de données n'est pas important). merci d'avance pour votre aide. |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() ![]() Inscription : mars 2002 Messages : 770 ![]() |
Bonsoir,
de quel type de serveur dont tu dispose (linux, nt, ..) j'ai fait un petit script bash au boulot vraiment bidon ( un pg_dump + cron + scp ), ca fonctionne tres bien : la tache cron est programmée chaque matin pour faire un vaccum puis un pg_dump en mode compressé, je garde le fichier bak en local et apres je fais un scp du fichier sur un autre serveur. Resultat, j'ai 2 fichiers identiques sur 2 serveurs differents. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2005 Messages : 7 ![]() |
merci hpalpha pour ta "premiere reponse à ma préoccupation; pour repondre à ta question, j'utilise un sereur linux (de préférence debian).
j'attend donc la suite de ta reponse. je t'en pris envois mois un exemple de script déjà écrit à cet effet. NB: excuse moi pour avoir mis du temps avant de repondre à ta question |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : janvier 2004 Messages : 507 ![]() |
moi aussi cela m interesserai de voir ton script .
Merci |
|
|
00
|
|
|
#5 |
|
Membre émérite
![]() ![]() Inscription : mars 2002 Messages : 770 ![]() |
de retour sur le forum
Le script est par exemple savmacdo.bat. je le place dans une tache cron pour quelle s'execute tout les jours à 6h (0 6 * * * /datas/hd137Go/postgresql/batchs/savmacdo.bat) Fichier : /datas/hd137Go/postgresql/batchs/savmacdo.bat /***********************************************************************************************************/ #!/bin/sh psql -d macdo -f /datas/hd137Go/postgresql/batchs/vacuum.sql pg_dump macdo -h 192.168.1.10 -U postgres -f /datas/hd137Go/postgresql/backups/macdo.bak -C -F c scp -B -C /datas/hd137Go/postgresql/backups/macdo.bak backup@192.168.1.11:/datas/replication/pg/macdo.bak /***********************************************************************************************************/ la 1ere commande fait un vaccum de la base et eventuellement d'autres traitements fichier vacuum.sql : /***********************************************************************************************************/ VACUUM; /***********************************************************************************************************/ la 2eme commande fait le dump a proprement parler, je le fais en mode compressé la 3eme commande fait la copie sur un autre serveur. je copie mon fichier sur le serveur 192.1681.11 avec le login backup Juste pour infos, pour pas que scp me demande le pass : je fais un ssh-keygen rsa --> ca me genere 2 fichiers : ~/.ssh/id_rsa et ~/.ssh/id_rsa.pub je donne la clef publique a mon 2eme serveur scp ~/.ssh/id_rsa.pub backup@192.168.1.11:~/.ssh/autorized_keys sur le 2eme serveur, je verouille les droits sur fichier chmod 0600 ~/.ssh/autorized_keys |
|
|
00
|
|
|
#6 | |
|
Membre habitué
![]() Inscription : janvier 2004 Messages : 507 ![]() |
j y connais pas grand chose en .bat donc je colle cela dans un .txt et je sauvergarde en .bat et logiquement avec le cron sa marchera
Citation:
|
|
|
|
00
|
|
|
#7 |
|
Membre émérite
![]() ![]() Inscription : mars 2002 Messages : 770 ![]() |
euh nan pas vraiment
il y a plusieurs fichiers, et le chemin c'est a toi d'adapter en fonction de tes fichiers. j'ai un batch qui me fait tout le boulot : #!/bin/sh psql -d macdo -f /datas/hd137Go/postgresql/batchs/vacuum.sql pg_dump macdo -h 192.168.1.10 -U postgres -f /datas/hd137Go/postgresql/backups/macdo.bak -C -F c scp -B -C /datas/hd137Go/postgresql/backups/macdo.bak backup@192.168.1.11:/datas/replication/pg/macdo.bak |
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() Inscription : janvier 2004 Messages : 507 ![]() |
ok
donc j adapte ce que tu à ecris en vert en fonction de ma base et du nom des fichier dans lequel je veux faire une sauvegarde |
|
|
00
|
|
|
#9 |
|
Membre actif
![]() Inscription : juin 2003 Messages : 209 ![]() |
Je fais exactement la même chose que hpalpha: si tu veux donner un nom à ton fichier avec la date et l'heure tu peux modifier ton pg_dump. Par exemple:
Code :
pg_dump -C -d -U pgsql -Z 9 maBase> /tralala/maBase.`date "+%Y%m%d.%H%M"`.gz; |
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() Inscription : janvier 2004 Messages : 507 ![]() |
ok
merci me reste plus qu à trouver, de la doc sur comment fonctionne cron |
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Inscription : janvier 2004 Messages : 507 ![]() |
et pour reimporter c est pgrestore
|
|
|
00
|
|
|
#12 |
|
Membre confirmé
![]() Inscription : septembre 2003 Messages : 302 ![]() |
pour la doc sur cron et crontab : man cron
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com