L'objectif est de synchroniser (ou d'utiliser tout autre outil permettant d'obtenir le résultat souhaité) uniquement les fichiers créés ou modifiés après une certaine date. Cela devrait fonctionner avec des noms de fichiers contenant des espaces (et/ou d'autres caractères qui nécessitent d'être échappés).
J'ai réussi à utiliser cette commande sur OS X 10.6.5 : find . -newermt "2010-11-23 16:52:50" -type f -exec rsync -vuptn '{}' ../rsync_test/ ';
Je ne pense pas que -newermt
fonctionne sur d'autres systèmes d'exploitation que OS X cependant.
Le problème avec cette commande est qu'elle exécute rsync une fois par fichier trouvé et cela ne semble pas être la bonne façon de procéder. J'ai essayé de changer le dernier ;
par un +
pour qu'il attende la liste complète des fichiers, mais cela casse (j'ai essayé avec "+"
, \+
et d'autres moyens pour échapper).
Contexte : je cherche à sauvegarder mes fichiers dans un emplacement distant. Les fichiers étant de nombreuses photos en raw et autres formats (travail de photographie. environ 30 Go par jour), la synchronisation via le réseau prendrait un temps inacceptable en raison de la faible bande passante de téléversement (ADSL c'est nul). L'idée est donc d'avoir beaucoup d'espace disque à un emplacement distant et de transporter les fichiers nouveaux/modifiés sur un petit disque dur externe une fois par semaine. rsync peut alors être facilement utilisé pour ajouter les fichiers nouveaux/modifiés à l'emplacement distant. Pour cela, je dois synchroniser les fichiers nouveaux/modifiés sur un disque dur externe au cours de la semaine afin d'avoir toujours 2 copies de chaque fichier soit à un emplacement distant pour les fichiers de plus d'une semaine, soit sur un disque dur externe pour les fichiers nouveaux/modifiés depuis le dernier transport.
J'avais l'intention de faire fonctionner cette commande toutes les 10 minutes (via cron) avec la date et l'heure de la dernière exécution.
Pouvez-vous corriger ma commande ? Ou avez-vous une solution encore meilleure ?