commande cp, ignorer les fichiers inchangés

10

Existe-t-il un moyen de faire un cpmais en ignorant tous les fichiers qui existent déjà à la destination qui ne sont pas plus anciens que ces fichiers à la source.

Fondamentalement, je veux copier le contenu d'un disque sur un autre, puis réexécuter la copie, mais uniquement en mettant à jour les nouveaux fichiers ou les fichiers mis à jour côté source.

Merci

Ben Everard
la source

Réponses:

17

utilisez ceci:

rsync -a /source /destination

Alternativement, vous pouvez obtenir plus de détails avec quelques autres indicateurs comme -vou --progress.

UtahJarhead
la source
1
Je veux ajouter que vous pouvez également utiliser rsyncle réseau. C'est particulièrement facile à faire en utilisant ssh. Pour la source OU la destination, ajoutez-la avec user@host:et elle fera exactement cela. Cela remplacerascp
UtahJarhead
9

à partir de la cppage de manuel:

   -u, --update
          copy only when the SOURCE file is newer than the destination file or when  the
          destination file is missing
Ragoût
la source
Je viens de trouver cela aussi, je regardais la page de manuel pour la mauvaise version de cp. Oh!
Ben Everard
6

Utilisez rsync, problème résolu.

rsync -av /srcdir /tgtdir
Sven
la source