Es gibt ein Verzeichnis, A
dessen Inhalt von anderen Personen häufig geändert wird.
Ich habe ein persönliches Verzeichnis erstellt, B
in dem alle Dateien gespeichert sind, die jemals gespeichert wurden A
.
Derzeit renne ich nur gelegentlich rsync
, um die zu sichernden Dateien von A
zu bekommen B
. Ich befürchte jedoch, dass einige Dateien hinzugefügt A
und dann entfernt werden, A
bevor ich sie kopieren kann B
.
Wie kann dies am besten verhindert werden? Idealerweise möchte ich, dass mein aktuelles Backup-Skript jedes Mal ausgeführt wird, wenn sich der Inhalt von A
ändert.
quelle
incrond
kann auch von Interesse sein./etc/profile
für das gesamte System oder.bash_profile
nur für Ihren Benutzer. Die Ausführung nach dem Booten hängt von Ihrer Unix / Linux-Version ab./etc/rc.local
,/etc/rc.d/
oder/etc/init.d/
--monitor
Schalter zu verwenden (und die Ausgabe stattdessen an die Schleife weiterzuleiten), da es sonst zu einem hohen Overhead kommt, wenninotifywait
immer wieder gestartet wirdStreng genommen kann es vorkommen, dass jemand eine Datei fallen lässt und sie sehr schnell entfernt. Die Verwendung von inotify (unter Linux oder einer ähnlichen Funktion unter anderen Unices) macht das Risikofenster klein.
Wenn Sie das Dateisystem Ihrer Wahl in dieses Verzeichnis mounten können (ich weiß, dass dies möglicherweise keine Option ist), können Sie ein Verzeichnis einfügen , das alle Dateiversionen aufzeichnet, z. B. copyfs .
quelle
Versuchen Sie es mit einem
entr
Befehlszeilentool, mit dem beliebige Befehle ausgeführt werden können, wenn sich Dateien ändern. Seit Version 2.9 wurde eine Verzeichnisüberwachungsoption (-d
) hinzugefügt, um auf Ereignisse zu reagieren, wenn eine neue Datei zu einem Verzeichnis hinzugefügt wird.Beispiel zum Ausführen des Dienstprogramms, wenn dem Projekt eine neue Datei hinzugefügt wird:
Dies hat nur zur Folge, dass eine neue Datei beendet werden muss, damit eine externe Shell-Schleife das Dateisystem erneut durchsuchen kann.
Hier ist die Version ohne Verzeichnisüberwachung:
Hier ist ein einfaches Beispiel, das von Ihren Bedürfnissen abhängt:
Check: entrproject.org Website für weitere Informationen.
quelle
Das Programm, das Sie suchen, ist
inotify
.quelle