Sauvegarde Multipostes

Répondre
yann
Messages : 29
Enregistré le : dim. janv. 08, 2012 10:36 pm

dim. déc. 04, 2016 4:23 pm

Bonjour Guillaume,
une petite question concernant les sauvegardes journalière:
Lorsqu'on valide la sauvegarde d'OpenConcerto, il enregistre tout dans un dossier avec les jours et dans ces dossiers "jour" il y a un dossier Base. Est ce que le .sql qui s y trouve me permettrai de récupérer les données que j ai perdu?
d'avance merci de votre réponse
yann
Ps je viens de réinstaller mon serveur en Debian et du coup c'est la question que je me posais avant de tout re-saisir .
cordialement
Ragus
Messages : 59
Enregistré le : sam. mars 28, 2015 11:48 am

dim. déc. 04, 2016 8:18 pm

Bonjour,

Oui il y a tout pour restaurer les données dans la sauvegarde journalière.
C'est un peu complexe pour un non initié mais en cherchant dans l'historique du forum on doit pouvoir trouver.

Conseil : pour la base de données seule (pas les documents et réglages d'OC) , il est plus simple de faire une sauvegarde avec PgAdmin par exemple , en tout cas la restauration est très simple en cas de besoin.
C'est en plus de la sauvegarde journalière.

Cordialement,
Utilisateur OC 1.5 multiposte Postgresql Linux
yann
Messages : 29
Enregistré le : dim. janv. 08, 2012 10:36 pm

lun. déc. 05, 2016 6:48 am

Merci pour les précision Guillaume,
en fait cela va me permettre de ne pas tout re saisir
pour les dossier et fichiers je les ai c'est pas un soucis il me manquait juste les données
je vais donc chercher sur l'historique pour restaurer les fameuses données et a l'avenir oui je ferait en plus un dump de la BDD
Merci
Bonne journée
Yann
yann
Messages : 29
Enregistré le : dim. janv. 08, 2012 10:36 pm

mer. déc. 07, 2016 9:09 pm

Bonsoir Guillaume,
bon je galère un peu pour restaurer mes données
pour la structure de la base c'est ok .
je voudrais juste savoir comment ré injecter les données stockées dans les fichier TXT, dans les tables de la base ??
Merci de m'éclairer si possible
cordialement
yann
tvans
Messages : 52
Enregistré le : mar. oct. 04, 2016 2:28 pm

jeu. déc. 08, 2016 8:22 am

Bonjour,
à mon avis, brut de pomme,
il faut les remettre au bon format pour l'injection dans votre base de donnée.
es : si postgresql le futur fichier .sql contiendra des lignes de ce type, la virgule est remplacé par une tabulation, plus de guillemet pour les valeurs etc...,

Code : Tout sélectionner

COPY "DSN_REGIME_LOCAL" ("ID", "CODE", "NOM", "ARCHIVE", "ORDRE") FROM stdin;
1			0	0.00000000
2	99	non applicable	0	1.00000000
3	01	régime local Alsace Moselle	0	2.00000000
\.
ça signifie donc qu'il faut écrire une moulinette de conversion de fichier, qui parcourt tout le répertoire de sauvegarde et qui génère un gros fichier .sql qu'on pourra injecter en ligne de commande avec psql.exe
+ restauration des templates locaux, et des des historiques des pdf générés.

à mon avis, pour un néophyte vaut mieux payer 4 jetons à guillaume pour qu'il le réalise, gain de temps et sécurisation des données générées depuis la sauvegarde.
yann
Messages : 29
Enregistré le : dim. janv. 08, 2012 10:36 pm

jeu. déc. 08, 2016 9:46 am

Merci TVANS
je vais essayer pour pas mourir idiot et cas echéant oui je prendrais les 4 jetons
en tous cas merci à tous pour votre aide
Denis_q
Messages : 42
Enregistré le : ven. avr. 03, 2015 4:41 pm

dim. mars 05, 2017 3:28 pm

Bonjour,
Je suis en train de me poser la même question...
Alors le commencement c'est de repérer les fichiers .txt et de les mettre dans la bonne table. Sous Linux j'ai fait ça de la façon suivante, sachant que j'ai créé un tablespace "entreprise" :

Code : Tout sélectionner

 #!/bin/bash
printf "Programe de restauration des tables dans la bdd OpenConcerto.\n"
printf "Répertoire contenant les fichiers sql : \n"
read -p rep_sql
printf "Répertoire contenant les fichiers txt de données des tables : \n"
read -p rep_txt
# find : -P ne suis pas les liens symboliques ; -execdir .... + permet d'exécuter la commande dans le répertoire du fichier trouvé
find -P ${rep_sql} -type f -name *.sql -execdir psql -S -v search_path="entreprise"."OpenConcerto50" -d "openconcerto" -U openconcerto -f {} +
#insérer un test d'erreur sur le ligne préćedente avant d'éxécuter la ligne ci-dessous, qui d'ailleurs ne fonctionne pas correctement...
find -P ${rep_txt} -type f -name *.txt -execdir psql -S -d "entreprise"."OpenConcerto50" --command="\copy \"OpenConcerto50\".\-f {} +
			echo -e "\n Traitement des données $$ \n";
		sleep 30;
--
Denis Q.
GNU Linux noyau 6.2.12-300.fc38.x86_64
openjdk 17.0.6 2023-01-17
psql (PostgreSQL) 12.14
Répondre