Sauvegarde selective
Résolu/Fermé
A voir également:
- Sauvegarde selective
- Logiciel de sauvegarde - Guide
- Sauvegarde android - Guide
- Sauvegarde facile - Télécharger - Sauvegarde
- Sauvegarde time machine - Guide
- Sauvegarde automatique windows 10 - Guide
11 réponses
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
22 sept. 2008 à 11:02
22 sept. 2008 à 11:02
Bonjour,
Peux-tu mettre un exemple de cette liste ?
Il faut qu'on sache comment sont indiqués les répertoire/ficihers dans celle-ci (chemins absolu ou relatif, contenant des jokers, etc.)
A plus
Peux-tu mettre un exemple de cette liste ?
Il faut qu'on sache comment sont indiqués les répertoire/ficihers dans celle-ci (chemins absolu ou relatif, contenant des jokers, etc.)
A plus
en fait mon fichier "liste" contient les noms des répertoires:
#cat liste-fich
toto
titi
tata
J'ai un repertoire racine commun /datas , et ensuite /datas/disk1/titi/ /datas/disk2/tata/ , mais par exemple pas tutu qui n'est pas dans mon fichier "liste".
#cat liste-fich
toto
titi
tata
J'ai un repertoire racine commun /datas , et ensuite /datas/disk1/titi/ /datas/disk2/tata/ , mais par exemple pas tutu qui n'est pas dans mon fichier "liste".
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
22 sept. 2008 à 11:22
22 sept. 2008 à 11:22
Ok
/datas/disk1 ne contient que tata ? ou il contient d'autre répertoires ne faisant pas partie de la liste ?
/datas/disk2 ne peut pas contenir de dossier tata ? ou au contraire peut-il en contenir un, et dans ce cas, faut-il le sauvegarder ?
Dans tout les cas, vu que la liste contient des chemins relatifs (sans la racine) et que cette racine n'a de commun que le /datas, ce n'est pas le plus simple.
Idéalement, si tu peux agir sur la liste, il faudrait que tu mettes que des chemins absolus
/datas/disk1/tata
/datas/disk2/toto
etc.
Ou relatif, mais incluant toute la partie variable
disk1/tata
disk2/toto
etc.
Sans ça, c'est faisable aussi, mais il faudra au préalable une commande find ou prendre le risque de sauvagarder des truc du genre:
/datas/disk1/tata/*
/datas/disk1/tutu/tata/* (y compris si tutu n'est pas dans la liste)
etc.
Si tu peux donner un peu plus de détails, on pourra te proposer des commandes plus précises,
Mais là, le nombre de possibilités est bien élevé pour te donner une commande satisfaisante :)
++
/datas/disk1 ne contient que tata ? ou il contient d'autre répertoires ne faisant pas partie de la liste ?
/datas/disk2 ne peut pas contenir de dossier tata ? ou au contraire peut-il en contenir un, et dans ce cas, faut-il le sauvegarder ?
Dans tout les cas, vu que la liste contient des chemins relatifs (sans la racine) et que cette racine n'a de commun que le /datas, ce n'est pas le plus simple.
Idéalement, si tu peux agir sur la liste, il faudrait que tu mettes que des chemins absolus
/datas/disk1/tata
/datas/disk2/toto
etc.
Ou relatif, mais incluant toute la partie variable
disk1/tata
disk2/toto
etc.
Sans ça, c'est faisable aussi, mais il faudra au préalable une commande find ou prendre le risque de sauvagarder des truc du genre:
/datas/disk1/tata/*
/datas/disk1/tutu/tata/* (y compris si tutu n'est pas dans la liste)
etc.
Si tu peux donner un peu plus de détails, on pourra te proposer des commandes plus précises,
Mais là, le nombre de possibilités est bien élevé pour te donner une commande satisfaisante :)
++
Bonjour,
mettez dans votre fichier
tar -cvf - \
folder1 \
folder2 \
..
foldern | gzip > tar.gz
un script qui check cette liste
Je ne sais pas comment détecter les répertoires que vous auriez oublié de citer.
Manu
mettez dans votre fichier
tar -cvf - \
folder1 \
folder2 \
..
foldern | gzip > tar.gz
un script qui check cette liste
Je ne sais pas comment détecter les répertoires que vous auriez oublié de citer.
Manu
Mon problème est que les sous-répertoires listés dans mon fichier ne se trouvent pas tous dans le même répertoire d'origine, (voir explication au-dessus)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Rebonjour
les sous-répertoires listés dans mon fichier ne se trouvent pas tous dans le même répertoire d'origine
Ca ne change rien. Ils ont tous un nom absolu ou relatif.
A moins que vous ne vouliez voir apparaître aucun chemin dans le tar (vous le l'avez pas dit, je suppose que ce n'est pas ce que vous voulez), sinon il y a un risque de synonymie.
Manu
les sous-répertoires listés dans mon fichier ne se trouvent pas tous dans le même répertoire d'origine
Ca ne change rien. Ils ont tous un nom absolu ou relatif.
A moins que vous ne vouliez voir apparaître aucun chemin dans le tar (vous le l'avez pas dit, je suppose que ce n'est pas ce que vous voulez), sinon il y a un risque de synonymie.
Manu
En effet je veux sauvegarder les chemins absolus, si dans ma liste j'ai:
tata
toto
titi
je veux pouvoir sauvegarder:
/datas/disk1/tata/*
/datas/disk1/titi/*
/datas/disk2/tata/*
/datas/disk1/tutu/tata/*
mais pas
/datas/disk1/tutu/* (mis à part si il y a tata ou toto dessous, bien sur)
En effet j'ai de nombreux autres répertoires sous /datas/disk1/ et /datas/disk2/ que je ne veux pas sauvegarder si ils ne font pas partie de la liste
J'espere avoir donné un max d'info, merci !
tata
toto
titi
je veux pouvoir sauvegarder:
/datas/disk1/tata/*
/datas/disk1/titi/*
/datas/disk2/tata/*
/datas/disk1/tutu/tata/*
mais pas
/datas/disk1/tutu/* (mis à part si il y a tata ou toto dessous, bien sur)
En effet j'ai de nombreux autres répertoires sous /datas/disk1/ et /datas/disk2/ que je ne veux pas sauvegarder si ils ne font pas partie de la liste
J'espere avoir donné un max d'info, merci !
Petite info supplémentaire, mon fichier "liste" contient une centaine de nom de répertoires, liste qui va evoluer au fil des semaines, d'ou le besoin d'automatiser la tache en venant scruter ce fichier !
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
22 sept. 2008 à 11:55
22 sept. 2008 à 11:55
Alors dans ce cas, la commande suivante fonctionne
Si ce n'est pas grave en soit (el le prenant é fois, au mons, il est sauvegardé) selon le volume de ce répertoire, ça peut détruire tes perfs, et augmenter considérablement, le poids de l'archive :(
L'idéal serait que tu puisse agir en amont sur la liste pour détailler plus ce que tu dois sauvegarder.
Cordaielement
tar cvzf test.tar.gz $( for line in $(<liste); do find /datas -type d -name $line; done )Cependant, ce n'est pas idéal cf exemple:
$ find /datas /datas /datas/disk1 /datas/disk1/tata /datas/disk1/tata/a /datas/disk1/tata/b /datas/disk1/tata/c /datas/disk1/titi /datas/disk1/titi/a /datas/disk1/titi/b /datas/disk1/titi/c /datas/disk2 /datas/disk2/toto /datas/disk2/toto/a /datas/disk2/toto/b /datas/disk2/toto/c /datas/disk2/toto/tata /datas/disk2/toto/tata/a /datas/disk2/toto/tata/b /datas/disk2/toto/tata/c /datas/disk2/tutu /datas/disk2/tutu/a /datas/disk2/tutu/b /datas/disk2/tutu/c /datas/disk2/tutu/tata /datas/disk2/tutu/tata/a /datas/disk2/tutu/tata/b /datas/disk2/tutu/tata/c $ cat liste tata titi tutu $ tar cvzf test.tar.gz $( for line in $(<liste); do find /datas -type d -name $line; done ) tar: Retrait de << / >> de t^ete des noms des membres /datas/disk1/tata/ /datas/disk1/tata/a /datas/disk1/tata/b /datas/disk1/tata/c /datas/disk2/toto/tata/ /datas/disk2/toto/tata/a /datas/disk2/toto/tata/b /datas/disk2/toto/tata/c /datas/disk2/tutu/tata/ /datas/disk2/tutu/tata/a /datas/disk2/tutu/tata/b /datas/disk2/tutu/tata/c /datas/disk1/titi/ /datas/disk1/titi/a /datas/disk1/titi/b /datas/disk1/titi/c /datas/disk2/tutu/ /datas/disk2/tutu/a /datas/disk2/tutu/b /datas/disk2/tutu/c /datas/disk2/tutu/tata/ /datas/disk2/tutu/tata/a /datas/disk2/tutu/tata/b /datas/disk2/tutu/tata/cObserve bien les lignes en gras: /data/disk2/tutu/tata corrspond a tata dans la liste, mais /data/disk2/tutu correspond aussi a tutu dans la liste donc /data/disk2/tutu/tata est ajouté à l'archive
Si ce n'est pas grave en soit (el le prenant é fois, au mons, il est sauvegardé) selon le volume de ce répertoire, ça peut détruire tes perfs, et augmenter considérablement, le poids de l'archive :(
L'idéal serait que tu puisse agir en amont sur la liste pour détailler plus ce que tu dois sauvegarder.
Cordaielement
Je vois le problème, ceci-dit j'ai très peu de chances (voir aucune !) d'avoir une arborescence comprenant 2 noms de répertoires se trouvant dans ma liste.
Je teste la commande mais je crois que c'est la solution, merci beaucoup !
Je teste la commande mais je crois que c'est la solution, merci beaucoup !
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
22 sept. 2008 à 12:50
22 sept. 2008 à 12:50
j'ai très peu de chances (voir aucune !) d'avoir une arborescence comprenant 2 noms de répertoires se trouvant dans ma liste
Dans ce cas, c'est impecc, l'aute solution était de traiter les repertoire un par un en mettant l'archive à jour a chaque fois...
Dans ce cas, c'est impecc, l'aute solution était de traiter les repertoire un par un en mettant l'archive à jour a chaque fois...
Non je confirme je l'ai fais tourner, c'est parfait, et si je veux être gourmand et exclure des extensions de fichier (*.bak, *.tmp etc...) ça complique beaucoup la manip ?
En tout cas merci beaucoup.
En tout cas merci beaucoup.
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
22 sept. 2008 à 14:43
22 sept. 2008 à 14:43
Non,
Ca ne complique pas trop, il suffit de modifier la commande comme suit:
Ca ne complique pas trop, il suffit de modifier la commande comme suit:
$ tar cvzf test.tar.gz $( for line in $(<liste); do find /datas -type d -name $line; done ) --exclude *.bak --exclude *.tmpOu bien de préciser un fichier d'excludes
$ cat> exclude<<EOF > *.bak > *.tmp > EOF $ tar cvzf test.tar.gz $( for line in $(<liste); do find /datas -type d -name $line; done ) --exclude-from excludeA plus