J'ai de la musique que je joue dans ma voiture, à partir d'une clé USB FAT32. Le dossier que j'utilise pour mettre des chansons est stocké sur mon disque dur EXT4. J'ajoute / supprime / répète régulièrement des chansons et souhaite parfois rsync
apporter des modifications à la clé USB. Mais pour une raison inconnue (peut-être des autorisations?), rsync
Copie tous les fichiers à chaque fois plutôt que de simplement les modifier. J'appelle rsync
comme:
rsync -vrlptgD source dest
Comment puis-je le faire fonctionner comme je le veux (c'est-à-dire savoir quand un fichier n'a pas été modifié et ne pas le copier)?
--iconv
utile lors du passage de la source Linux à la destination MacOSmodify-window=2
car=1
copie toujours tous les fichiers. Copie de NTFS vers FAT32. Après ça, ça va.--size-only
drapeau pour ignorer les fichiers qui correspondent à la tailleLes horodatages en FAT32 sont trop différents des horodateurs Unix pour pouvoir compter sur eux pour vérifier les modifications de fichiers, vous devez également utiliser le commutateur -c, il forcera rsync à comparer tous les fichiers pour détecter les modifications au lieu de se fier aux horodatages. Cela fonctionnera, mais c'est plus lent.
Enfin, il existe quelques options dans votre commande qui ne peuvent pas fonctionner avec les systèmes de fichiers FAT32.
Comme le remarque le couple, les options invalides ne vous feront pas de mal, elles ne feront rien. Mais vous devez ajouter le commutateur -c.
Cette:
devrait fonctionner (au moins cela fonctionne sur mon ordinateur).
la source
J'avais un problème similaire sous OSX, et la réponse de Glutanamate n'a pas aidé. Certains fichiers diffèrent d'une heure; c'est peut-être parce que j'ai tendance à traverser les fuseaux horaires assez souvent. Les autres fichiers sont désactivés d'un jour, voire d'un mois. Je ne sais pas pourquoi c'est. La vérification de la somme de certains fichiers avec des horodatages très différents montre qu'ils sont en effet identiques.
Dans tous les cas, il semble que l'
--size-only
option, qui ditrsync
d'ignorer les horodatages, fonctionnera à mes fins.-c
/--checksum
(comme mentionné par Javier) fonctionne également, mais prend un peu plus de temps. Je l'ai chronométré et il a fallu environ une minute pour comparer les sommes de contrôle pour le Go environ dans le sous-répertoire avec lequel je travaille. Bien sûr, la vitesse à laquelle cela se produit dépendra du lecteur le plus lent du système; dans mon cas, c'est la carte SD de mon téléphone. Cependant, c'était après que j'avais déjà fait quelques manipulations de fichiers (y compris la somme de contrôle), donc beaucoup de fichiers peuvent avoir déjà été copiés dans le cache RAM.la source
Vous devez également éviter d'utiliser l'option -a. Ma recommandation sur FAT32 est
--no-p: aucune autorisation
--delete: supprime les fichiers et le dossier sans correspondance dans la destination (si vous le voulez vraiment)
--progress: affiche la progression pendant le transfert. C'est bon pour les gros fichiers.
la source
-vrc
, je fais aussi-vrcz
C'est trop de drapeaux (-vrlptgD) que vous utilisez. N'oubliez pas que rsync est un utilitaire Linux et ne fonctionne pas efficacement avec Fat32 et NTFS.
Il faudrait chercher des astuces pour pouvoir l'utiliser.
Essayer:
Plus d'infos ici
la source