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.