C'è una directory A
i cui contenuti vengono modificati frequentemente da altre persone.
Ho creato una directory personale B
dove conservo tutti i file che sono mai stati in A
.
Attualmente, eseguo solo occasionalmente rsync
per ottenere i file di cui eseguire il backup da A
a B
. Tuttavia, temo la possibilità che alcuni file vengano aggiunti in A
, e quindi rimosso da A
prima che io abbia la possibilità di copiarli su B
.
Qual è il modo migliore per evitare che ciò accada? Idealmente, vorrei che il mio attuale script di backup venisse eseguito ogni volta che il contenuto di A
cambiati.
Risposta accettata:
Se hai installato inotify-tools puoi usare inotifywait
per attivare un'azione se un file o una directory viene scritto in:
#!/bin/sh
dir1=/path/to/A/
while inotifywait -qqre modify "$dir1"; do
/run/backup/to/B
done
Dove il -qq
l'interruttore è completamente silenzioso, -r
è ricorsivo (se necessario) e -e
è l'evento da monitorare, in questo caso modify
. Da man inotifywait
:
modifica
È stato scritto un file controllato o un file all'interno di una directory controllata.