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.