Existuje adresář A
jehož obsah je často měněn jinými lidmi.
Vytvořil jsem osobní adresář B
kde uchovávám všechny soubory, které kdy byly v A
.
V současné době jen občas spustím rsync
získat soubory k zálohování z A
do B
. Obávám se však možnosti, že některé soubory budou přidány do A
a poté odstraněn z A
než dostanu šanci je zkopírovat do B
.
Jaký je nejlepší způsob, jak tomu zabránit? V ideálním případě bych chtěl, aby se můj aktuální zálohovací skript spouštěl pokaždé, když se obsah A
spustí nechat se změnit.
Přijatá odpověď:
Pokud máte nainstalované nástroje inotify-tools, můžete použít inotifywait
pro spuštění akce, pokud je soubor nebo adresář zapsán do:
#!/bin/sh
dir1=/path/to/A/
while inotifywait -qqre modify "$dir1"; do
/run/backup/to/B
done
Kde je -qq
přepínač je zcela tichý, -r
je rekurzivní (v případě potřeby) a -e
je událost k monitorování, v tomto případě modify
. Z man inotifywait
:
upravit
Byl zapsán sledovaný soubor nebo soubor ve sledovaném adresáři.