OVH Cloud OVH Cloud

(cd /source;tar cf - *) | (cd /destination;tar xpf -)

13 réponses
Avatar
freedba
Bonjour,

j'utilise la commande (cd /source;tar cf - *) | (cd /destination;tar
xpf -) pour recopier des repertoires.
je viens de m'appercevoir qu'elle ne recopie pas les fichiers dont le
nom commence par un point comme .profile ou .dt

Est ce normal, si oui alors comment tout recopier

La commaned diff permet de comparer deux repertoires mais pas les
sous-repertoire !!!!Comment comparer deux arborescence entiere ?


Merci

10 réponses

1 2
Avatar
Laurent Wacrenier
freedba écrit:
j'utilise la commande (cd /source;tar cf - *) | (cd /destination;tar
xpf -) pour recopier des repertoires.
je viens de m'appercevoir qu'elle ne recopie pas les fichiers dont le
nom commence par un point comme .profile ou .dt

Est ce normal, si oui alors comment tout recopier


C'est normal car ils ne sont pas inclus dans "*".

Pour recopier un répertoire, utiliser "tar cf - ."

La commaned diff permet de comparer deux repertoires mais pas les
sous-repertoire !!!!Comment comparer deux arborescence entiere ?


Certaines version de diff ont une option permettant la récursion (-r)

Avatar
TiChou
Dans le message
<news:,
*freedba* tapota sur f.c.o.unix :

Bonjour,


Bonjour,

j'utilise la commande (cd /source;tar cf - *) | (cd /destination;tar
xpf -) pour recopier des repertoires.


Et pourquoi ne pas utiliser plus simplement la commande 'cp' ?

--
TiChou

Avatar
Laurent Lefevre
"TiChou" writes:

j'utilise la commande (cd /source;tar cf - *) | (cd /destination;tar
xpf -) pour recopier des repertoires.


Et pourquoi ne pas utiliser plus simplement la commande 'cp' ?


L'option 'p' de tar recopie les droits des fichiers, ce que tu ne peux
pas faire avec cp.

man tar :
p [.....and files are restored with their original owners and
permissions... ]

--
Laurent


Avatar
Paul Gaborit
À (at) 26 Sep 2005 15:08:03 +0200,
Laurent Lefevre écrivait (wrote):
"TiChou" writes:
Et pourquoi ne pas utiliser plus simplement la commande 'cp' ?


L'option 'p' de tar recopie les droits des fichiers, ce que tu ne peux
pas faire avec cp.

man tar :
p [.....and files are restored with their original owners and
permissions... ]


man cp :

-p Preserve. [... preserves the owner and group id,
permissions modes, modification and access time...]

Ce n'est peut-être pas POSIX mais c'est vrai sur tous les Unix que je
connais...

L'un des avantages de passer par tar est la possibilité de le faire à
travers une connexion rsh avec l'option -B (pour ssh, il vaut mieux
utiliser scp)... Un autre avantage serait l'utilisation d'une liste de
fichiers exclus.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>


Avatar
JKB
Le 26-09-2005, à propos de
Re: (cd /source;tar cf - *) | (cd /destination;tar xpf -),
Laurent Lefevre écrivait dans fr.comp.os.unix :
"TiChou" writes:

j'utilise la commande (cd /source;tar cf - *) | (cd /destination;tar
xpf -) pour recopier des repertoires.


Et pourquoi ne pas utiliser plus simplement la commande 'cp' ?


L'option 'p' de tar recopie les droits des fichiers, ce que tu ne peux
pas faire avec cp.


schroedinger:[~] > man cp
...
-p identique à --preserve=mode,ownership,timestamps

--preserve[=LISTE_ATTR]
préserver les attributts spécifiés (par défaut : mode,owner-
ship,timestamps), et si possible les attributs additionels :
links, all
...

Cordialement,

JKB



Avatar
TiChou
Dans le message <news:,
*Laurent Lefevre* tapota sur f.c.o.unix :

j'utilise la commande (cd /source;tar cf - *) | (cd /destination;tar
xpf -) pour recopier des repertoires.


Et pourquoi ne pas utiliser plus simplement la commande 'cp' ?


L'option 'p' de tar recopie les droits des fichiers, ce que tu ne peux
pas faire avec cp.


Et l'option '-p' de la commande 'cp' ?

Notons aussi que tar ne permet pas de tout recopier, comme par exemple les
attributs étendus, les ACL ou les fichiers à trous (sparse).

--
TiChou



Avatar
freedba
Merci pour tout,

la commande cp -p me semble parfaite.

Je vais donc faire un cp -pR /source /destination
Avatar
Stephane Chazelas
On 26 Sep 2005 07:01:38 -0700, freedba wrote:
Merci pour tout,

la commande cp -p me semble parfaite.

Je vais donc faire un cp -pR /source /destination
[...]


A eviter, ca ne marchera probablement pas comme tu veux avec les
liens symboliques. Et meme avec l'option -d (extension de GNU
cp, où cp -a est un shortcut pour cp -dpR), ca ne marchera pas
avec les liens durs.

(cd src && tar cf - .) | (cd dst && tar xpf -)

Ou utiliser pax ou cpio.

Note aussi que les comportements divergent avec les "sparse
files" (fichiers a trous).

--
Stephane

Avatar
freedba
tu penses donc que je dois utiliser :

(cd src && tar cf - .) | (cd dst && tar xpf -)
Avatar
freedba
j'ai lancé un

find . -print | cpio -pdl /dest

et j'ai des messages du genre :

cpio : 0511-012 La version en cours de </ias2/.vnc/passwd> est plus
récente ou de la même date.
cpio : 0511-012 La version en cours de </ias2/.vnc/xstartup> est plus
récente ou de la même date.
cpio : 0511-012 La version en cours de </ias2/.vnc/operaias:4343.pid>
est plus
récente ou de la même date.
cpio : 0511-012 La version en cours de </ias2/.vnc/operaias:4343.log>
est plus
récente ou de la même date.

Est ce normal ?
1 2