web-dev-qa-db-fra.com

Copier des fichiers tout en ignorant les fichiers existants - Unix

Je voudrais prendre un grand dossier (~ 100 Go) et le copier dans un autre dossier. Je voudrais qu'il ignore tous les fichiers qui existent (pas les dossiers) donc si /music/index.html n'existe pas, il serait toujours copié même si le /music le répertoire existe déjà.

J'ai trouvé this , mais mon Shell dit -u n'est pas un argument valide.

Je ne sais pas comment rsync fonctionne, alors faites-moi savoir si c'est une meilleure solution.

Merci.

32
switz

Utilisez toujours rsync pour copier des fichiers, car c'est génial.

Pour ignorer les fichiers existants:

rsync --ignore-existing --recursive /src /dst

Lisez le manuel et recherchez de nombreux exemples. En particulier, la combinaison avec ssh fait de rsync un excellent outil pour les connexions lentes et peu fiables en raison de son --partial option. Ajouter --verbose pour voir quels fichiers sont copiés. Assurez-vous de vérifier la pléthore d'options concernant la préservation des autorisations, des utilisateurs et des horodatages.

54
Kerrek SB

rsync(1) brille absolument lorsque la source et la destination se trouvent sur deux ordinateurs différents. C'est toujours le meilleur outil à utiliser lorsque la source et la destination sont sur le même ordinateur.

Une utilisation simple ressemblerait à:

rsync -av /path/to/source /path/to/destination

Si vous êtes certain que tous les fichiers qui existent aux deux emplacements sont identiques, utilisez l'option --ignore-existing:

rsync -av --ignore-existing /path/to/source /path/to/destination

Juste pour être complet, lorsque j'utilise rsync(1) pour faire une sauvegarde sur un système distant, la commande que je préfère le plus est:

rsync -avz -P /path/to/source hostname:/path/to/destination

Le -z Demande la compression (je ne dérangerais pas localement, mais sur une liaison réseau plus lente, cela peut faire une grande différence) et le -P Demande --partial Et --progress - qui réutilisera partiel les transferts de fichiers s'il doit être redémarré, et affichera un indicateur de barre de progression pratique.

8
sarnold