ubuntuusers.de

Datei Änderungen zwischen zwei Zeitpunkten loggen

Status: Gelöst | Ubuntu-Version: Xubuntu 20.04 (Focal Fossa)
Antworten |

PcDoc2000

Avatar von PcDoc2000

Anmeldungsdatum:
4. Februar 2010

Beiträge: 895

Wohnort: Wien

Hallo,

Keine Ahnung ob das hier richtig ist, aber wenn nicht bitte verschieben.

Grundsätzlich suche ich nach einer relativ schnellen und einfach Möglichkeit festzustellen welche Dateien von einem Zeitpunkt bis zum nächsten Zeitpunkt sich geändert haben bzw. neu dazu gekommen oder gelöscht wurden. Also quasi einen Snapshot mit einem anderen zu vergleichen. Ein praktischer Anwendungsfall um meine Vorhaben zu verdeutlichen wäre zum Bsp fest zu stellen was ein Skript oder ein bestimmtes Programm bei der Installation und/oder im Betrieb an den Dateien macht.

Ich kann mich noch an früher erinnern, da gabs sowas von Novell für Paketbau zur zentralen Verteilung. Das war sehr praktisch, aber unter Linux hab ich sowas in der Form noch nicht gesehen. Hat jemand eine Idee oder einen Tipp?

Im Prinzip müsste das von der Logik her ähnlich gehen wie Back in Time, aber ich will kein Backup erstellen, sondern rein eine Auflistung mit den Änderungen.

Doc_Symbiosis

Avatar von Doc_Symbiosis

Anmeldungsdatum:
11. Oktober 2006

Beiträge: 4452

Wohnort: Göttingen

Hm, also wenn Du z.B. die Änderungen am /etc Verzeichnis nachvollziehen willst, gibt es dafür etckeeper. Du kannst natürlich auch jedes andere Verzeichnis zu einem lokalen git-Repo machen und Dir die Änderungen anschauen. Wenn Du das mit dem gesamten /usr und /var machen willst, wird das aber ein wenig zu viel Ressourcen brauchen, denke ich.

Wenn Du wissen willst, was ein bestimmtes Programm tut, dann schau Dir doch einfach das zugehörige Paket an.

Oder es gibt apt-file für alle Pakete, die mit Apt verwaltet werden, um zu sehen, welche Dateien in einem bestimmten Paket enthalten sind.

Oder mit einem der trace-Programme kannst Du das bestimmt auch mittracken, also strace oder ltrace.

EDIT: So sollte das mit strace gehen und das wäre auch der direkteste Weg, denke ich:

sudo strace -f -t -e trace=file scriptname

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17608

Wohnort: Berlin

Ich vermute binäre Programme zu vergleichen, über eine Checksumme hinaus, willst Du nicht. Wenn Du keine bösartige Veränderung, die das Datum zurücksetzt, überwachen willst, würde da auch der Zeitstempel genügen.

Unterschiede in Bildern, WAV-files usw. dürften auch nicht so interessant und häufig sein, allenfalls dass welche kommen und gehen?

PcDoc2000

(Themenstarter)
Avatar von PcDoc2000

Anmeldungsdatum:
4. Februar 2010

Beiträge: 895

Wohnort: Wien

Hallo,

Danke euch beiden für die Antworten!

Itrace ist glaube ich nicht das was ich suche. Strace könnte funktionieren, aber würde das dann nur die Auswirkungen von dem Skript aufzeichnen, oder auch Änderungen die von Skripts ausgehen die durch das ursprüngliche Skipt aufgerufen werden? Bzw. dann durch das Programm vorgenommene Änderungen an Dateien?

@user_unknown: ein Zeitstemplevergleich würde genügen, wenn dadurch auch neue bzw. gelöschte Dateien angezeigt werden. Wie würde ich das anstellen?

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17608

Wohnort: Berlin

PcDoc2000 schrieb:

@user_unknown: ein Zeitstemplevergleich würde genügen, wenn dadurch auch neue bzw. gelöschte Dateien angezeigt werden. Wie würde ich das anstellen?

Ein Programm, das zu dem Zweck genau geschaffen wurde, mag es geben, kenne ich aber nicht. Wenn Du spezielle Verzeichnisse durchforsten willst, und sehen, ob sich da seit gestern etwas geändert hat, kannst Du aber find dafür benutzen, etwa:

1
sudo find /bin /lib -daystart -mtime -1 

oder für die letzten 24h

1
sudo find /bin /lib -mtime -1 

Mit Umlenkung in eine Datei kannst Du es für später speichern. Das Programm find hat zig Optionen, die Suche weiter zu spezifizieren und die Ausgabe zu steuern. Wenn Du ab und an die Kontrolle laufen lassen willst, kannst Du vor jedem Lauf eine Datei erzeugen, die nur als Zeitstempel nimmst, und find mit -mnever aufrufen, und jeweils aktualiseren, um beim nächsten Lauf, etwa vor einer Installation, die nächste Kontrolle zu machen und jeweils den Zeitstempel zu aktualisieren (mit touch).

Mit anacron/cron kannst Du die Änderungen auch regelmäßig aktualisieren.

PcDoc2000

(Themenstarter)
Avatar von PcDoc2000

Anmeldungsdatum:
4. Februar 2010

Beiträge: 895

Wohnort: Wien

@user_unknown: das ist zwar nicht genau was ich suche, aber es hilft mir schon mal sehr weiter! Das aktuelle Problem sollte sich damit lösen lassen! Gäbe es da vielleicht auch noch die Möglichkeit bei dem Output das Datum und die Uhrzeit der Änderung mit anzugeben?

Danke!

Ich lasse hier noch offen, weil wenn es ein tool dafür gibt wäre das schon sehr praktisch speziell auch um den Vergleich von 2 snapshots zu haben.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17608

Wohnort: Berlin

PcDoc2000 schrieb:

Gäbe es da vielleicht auch noch die Möglichkeit bei dem Output das Datum und die Uhrzeit der Änderung mit anzugeben?

Ja.

Find hat ein umfangreiches -printf Kommando, das wenige Wünsche offenlässt, außer dem Wunsch nach Einfachheit.

1
2
3
man find
/-printf
nnnn
  1. Manpage find aufrufen

  2. Mit / eine Suche nach -printf einleiten

  3. Mit ca. 4x n zum jeweils nächsten Treffer springen, bis zum Abschnitt "-printf format"

Am besten in einem zweiten Shellfenster die Formate ausprobieren, während im anderen die Hilfe offen ist.

PcDoc2000

(Themenstarter)
Avatar von PcDoc2000

Anmeldungsdatum:
4. Februar 2010

Beiträge: 895

Wohnort: Wien

user_unknown schrieb:

Find hat ein umfangreiches -printf Kommando, das wenige Wünsche offenlässt, außer dem Wunsch nach Einfachheit.

Damit hast du extrem recht!!!

Danke für die Hilfe!

Antworten |