Rsync (Remote Sync) est une application populaire sur les systèmes Unix-like qui est utilisée pour synchroniser les fichiers et les dossiers entre deux emplacements sur un réseau ou dans le même système de fichiers. La possibilité de synchroniser uniquement les fichiers modifiés après une certaine date n’est pas directement prise en charge par Rsync, mais on peut y parvenir en combinant Rsync avec d’autres commandes Unix (Linux).
Cependant, une astuce pour contourner cette limite est d’utiliser la commande ‘find’. La commande ‘find’ peut parcourir votre système de fichiers et retourner tous les fichiers qui ont été modifiés après une certaine date. Vous pouvez ensuite passer cette liste à rsync.
Voici comment cela fonctionne. Disons que vous voulez synchroniser tous les fichiers dans le dossiervotre\_repetoire qui ont été modifiés après le 30 Janvier 2022. Vous pouvez utiliser la commande suivante :
```
touch —date “2022-01-30” /tmp/ref
find /votre_repetoire newer /tmp/ref -print0 | rsync -0 —files-from= /votre_repetoire/ remote:/votre_repetoire/
```
Cela créera un fichier temporaire (/tmp/ref) avec une date de modification définie au 30 Janvier 2022. Ensuite, la commande ‘find’ localisera tous les fichiers dans ‘/votre\_repetoire’ qui sont plus récents que le fichier de référence. Ces fichiers sont ensuite transmis à rsync pour synchronisation.
Méthode alternative possible pour synchroniser uniquement les fichiers nouveaux ou modifiés avec rsync:
```
rsync -av —update —existing /source_directory/ /destination_directory/
```
—[update] -> ceci dit à rsync de ne pas faire de synchronisation si le fichier existe à la destination et que sa date de modification est plus récente.
—[existing] -> cela interdit à rsync de créer de nouveaux fichiers à la destination.
Veuillez noter que ces commandes doivent être exécutées sur une machine Unix-like et que ‘remote:/votre\_repetoire/’ représente le chemin d’accès distant où les fichiers doivent être synchronisés.
Sources utilisées:
Manuel de Rsync : https://linux.die.net/man/1/rsync
Conseils d’utilisation de Rsync : https://www.tecmint.com/rsync-local-remote-file-synchronization-commands/
Informations sur la commande Unix ‘find’ : https://www.gnu.org/software/findutils/manual/html_node/find_html/