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.
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.
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.