Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 16/06/2014 08:59:58
- elliottthevenod
- Membre
batch sauvegarde BDs journalier et horodaté
Bonjour à tous,
Je cherches à créer un batch de sauvegarde journalier et horodaté pour 7 base de données différentes sous un postgre 8.4 je suis totalement novice en ligne de commande j'ai vu plusieurs types de sauvegarde et plusieurs formats de fichiers en sortie en réalité je ne sais pas ce qu'il faut choisir entre les options j'aimerais simplement avoir une sauvegarde la plus complète et la plus simple à restaurer. Je ne sais pas trop comment organiser mon batch..
voici ce que je pensais mettre en place mais je ne suis pas sur de ce que j'ai écrit :
echo %date%
set x=%date:/=-%
echo %x%
pg_dump.exe --host 192.168.x.xxx --port 5432 --username postgre --format XXX --file "C:\sauvegarde\%x%_backup_ma_base.XXX" ma_base
Quels sont les types et formats de sauvegarde appropriés? et comment mettre en place un batch fiable?
Merci d'avance
Hors ligne
#2 16/06/2014 09:09:41
- arthurr
- Membre
Re : batch sauvegarde BDs journalier et horodaté
Bonjour,
Généralement, j'utilise le format "Custom" : -Fc
Il permet d'utiliser pg_restore et toutes les options qui vont avec.
Hors ligne
#3 16/06/2014 13:37:27
- elliottthevenod
- Membre
Re : batch sauvegarde BDs journalier et horodaté
Merci pour votre réponse, quand j'utilise le .bat créer une fenêtre noir s'ouvre et se ferme aussitôt et aucun fichier n'est sauvegarder dans le dossier,
Est ce que ma ligne de commande est bonne ou manquerait t'il quelque chose?
Hors ligne
#4 16/06/2014 15:19:30
- arthurr
- Membre
Re : batch sauvegarde BDs journalier et horodaté
Je ne vais pas pouvoir vous aider plus : je ne travaille que sous Linux
Hors ligne
#5 16/06/2014 21:22:41
- rjuju
- Administrateur
Re : batch sauvegarde BDs journalier et horodaté
Lancez le en ligne de commande au lieu de double cliquer dessus, ou ajoutez un "pause" à la fin du script afin de voir les messages d'erreurs ou tout autre problème.
Julien.
https://rjuju.github.io/
Hors ligne
#6 18/06/2014 08:54:19
- elliottthevenod
- Membre
Re : batch sauvegarde BDs journalier et horodaté
Bonjour,
Merci pour les réponses j'ai modifié quelque peu ma ligne de commande ce qui donne ceci:
echo %date%
set x=%date:/=-%
echo %x%
"C:\Program Files (x86)\PostgreSQL\8.4\bin\pg_dump.exe" -h 192.168.1.XXX -p 5432 -U postgres -fc -t ma_base > C:\DONNEES\testsauvegarde\%x%ma_base
"pause"
deux choses en ressorte, premièrement il me demande le mot de passe pour la connexion aux base de données et j'aimerais faire en sorte qu'il tourne sans me le demander car je ne serais pas forcement devant lors de l'envoi du script quelles solutions puis je mettre en place?
Deuxièmement il me ressort comme message d'erreur : annulation à cause de la différence des versions, j'ai un 9.1.11 sur le serveur et un 8.4 sur mon ordinateur, faut t'il que j'ai la même sur les deux ou si j'ai une version plus récente sur mon ordinateur cela marchera t'il correctement?
Dernière modification par elliottthevenod (18/06/2014 08:54:53)
Hors ligne
#7 18/06/2014 10:48:11
- gleu
- Administrateur
Re : batch sauvegarde BDs journalier et horodaté
deux choses en ressorte, premièrement il me demande le mot de passe pour la connexion aux base de données et j'aimerais faire en sorte qu'il tourne sans me le demander car je ne serais pas forcement devant lors de l'envoi du script quelles solutions puis je mettre en place?
Soit utiliser un fichier .pgpass soit utiliser la variable d'environnement PGPASSWORD. Plutôt le premier.
Deuxièmement il me ressort comme message d'erreur : annulation à cause de la différence des versions, j'ai un 9.1.11 sur le serveur et un 8.4 sur mon ordinateur, faut t'il que j'ai la même sur les deux ou si j'ai une version plus récente sur mon ordinateur cela marchera t'il correctement?
Même version.
Guillaume.
Hors ligne
#8 18/06/2014 16:31:07
- elliottthevenod
- Membre
Re : batch sauvegarde BDs journalier et horodaté
J'ai installé la même version, je n'ai pas encore fais de .pgpass puisque je test ma ligne pour le moment, j'ai donc cette ligne :
echo %date%
set x=%date:/=-%
echo %x%
"C:\Program Files (x86)\PostgreSQL\bin\pg_dump.exe" -h 192.168.1.XXX -p 5432 -U postgres -fc -t ma_base > C:\DONNEES\testsauvegarde\%x%ma_base
il me retourne une erreur en me disant qu'aucune table correspondant n'a été trouvé. auriez vous une solution ou sauriez vous d'ou viens le problème?
Merci
Hors ligne
#9 18/06/2014 18:12:58
- gleu
- Administrateur
Re : batch sauvegarde BDs journalier et horodaté
Il manque le nom de la table après l'option -t. En fait, dans cette colonne il prend ma_base comme nom de table (vu que c'est tout de suite après l'option -t). Comme il n'y a pas de nom de base et que l'utilisateur est postgres, il se connecte sur la base postgres. Et je parierais que la base postgres ne contient pas de table appelée ma_base.
Guillaume.
Hors ligne
#10 20/06/2014 08:39:54
- elliottthevenod
- Membre
Re : batch sauvegarde BDs journalier et horodaté
Merci beaucoup pour vos réponses j'ai finalisé ma ligne et apparemment elle marche, elle donne ça :
echo %date%
set x=%date:/=-%
echo %x%
"C:\Program Files (x86)\PostgreSQL\bin\pg_dump.exe" -h 192.168.1.XXX -p 5432 -U postgres -Ft ma_base > C:\DONNEES\testsauvegarde\%x%ma_base
Il ne me reste plus qu'a créer un fichier .pgpass et a faire en sorte quelle se lance quotidiennement.
J'avais une autre question existe t'il un moyen pour que les sauvegardes datant de plus de 3 jours par exemple sois supprimé automatiquement?
Merci
Hors ligne
#11 20/06/2014 09:44:59
- gleu
- Administrateur
Re : batch sauvegarde BDs journalier et horodaté
C'est au script de le faire. Je ne pourrais pas vous aider sur ce point, les scripts Windows et moi, on n'est pas copains.
Guillaume.
Hors ligne
#12 20/06/2014 10:40:45
- elliottthevenod
- Membre
Re : batch sauvegarde BDs journalier et horodaté
Merci quand même je vais me renseigner sur ce point
Bonne journée
Hors ligne
#13 20/06/2014 10:41:52
- damalaan
- Membre
Re : batch sauvegarde BDs journalier et horodaté
J'avais une autre question existe t'il un moyen pour que les sauvegardes datant de plus de 3 jours par exemple sois supprimé automatiquement?
Merci
La gestion des dates avec un fichier .bat c'est une grosse m...... (j'ai un script de sauvegarde qui teste les dates, les heures, c'est un truc de taré)
Vous pourriez faire tout ça en PowerShell, c'est plus simple
(get-date).adddays(-3)
Hors ligne
#14 20/06/2014 10:43:18
- elliottthevenod
- Membre
Re : batch sauvegarde BDs journalier et horodaté
Très bien merci je vais donc me renseigner sur Powershell
Bonne journée
Hors ligne
Pages : 1