Il existe un répertoire A
dont le contenu est fréquemment modifié par d'autres personnes.
J'ai créé un répertoire personnel B
où je garde tous les fichiers qui ont déjà été dans A
.
Actuellement, je lance occasionnellement rsync
pour obtenir les fichiers à sauvegarder depuis A
à B
. Cependant, je crains la possibilité que certains fichiers soient ajoutés dans A
, puis supprimé de A
avant d'avoir la chance de les copier dans B
.
Quelle est la meilleure façon d'empêcher que cela se produise? Idéalement, j'aimerais que mon script de sauvegarde actuel s'exécute à chaque fois que le contenu de A
se changer.
Réponse acceptée :
Si vous avez installé inotify-tools, vous pouvez utiliser inotifywait
pour déclencher une action si un fichier ou un répertoire est écrit dans :
#!/bin/sh
dir1=/path/to/A/
while inotifywait -qqre modify "$dir1"; do
/run/backup/to/B
done
Où le -qq
le commutateur est complètement silencieux, -r
est récursif (si nécessaire) et -e
est l'événement à surveiller, dans ce cas modify
. De man inotifywait
:
modifier
Un fichier surveillé ou un fichier dans un répertoire surveillé a été écrit.