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.