Suchen: Wer schreibt Backups

Suchen: Wer schreibt Backups

Ich habe einen Daemon, der Mongo- und MySQL-Backups in das Verzeichnis schreibt /opt/BACKUP, aber ich weiß nicht, was für ein Daemon, wann er funktioniert und wo ich seine Einstellungen finden kann.

Diese Dateien befinden sich im Verzeichnis:

-rwxrwxrwx 1 root  root 10954766682 Aug 30 21:02 history_2013-08-26.sql.bz2
-rw-r--r-- 1 root  root 22707064861 Sep 19 07:07 history.sql
drwx------ 2 root  root       16384 Dec 24  2012 lost+found
drwxr-xr-x 3 root  root        4096 Sep 19 03:12 mongodb
-rw-r--r-- 1 root  root  6708923175 Sep 18 04:16 mongodb.0.tgz
-rw-r--r-- 1 root  root  6685715560 Sep 17 04:16 mongodb.1.tgz
-rw-r--r-- 1 root  root  6733542547 Sep 19 04:17 mongodb.tgz
drwxr-xr-x 5 mysql root        4096 Sep 19 06:25 mysql
drwxr-xr-x 2 root  root        4096 Dec 24  2012 nobacula
drwxr-xr-x 2 root  root        4096 Aug 29 04:05 tmp

Wie kann ich herausfinden, wer mongodb.* und history_2013-08-26.sql.bz2 schreibt?

Antwort1

Das können Sie nicht direkt herausfinden. Die einzige Information, die Sie haben, ist dieEigentümerund die Zeitstempel der Dateien.

Eigentümer

Da es sich bei den betreffenden Dateien um Eigentum von handelt root, erhalten Sie hierdurch nur wenige Informationen.

Zeitstempel - MongoDB

Wie Sie sehen, werden die mongodbBackups grundsätzlich alle zur gleichen Zeit (viertel nach vier Uhr morgens) durchgeführt. Dies (und die Tatsache, dass die Erstellungszeit irgendwann nachts liegt, wenn die Dienste wahrscheinlich nicht so stark ausgelastet sind) macht es sehr wahrscheinlich, dass das Backup durch einen cronProzess ausgelöst wird. Daher müssen Sie die Cron-Konfiguration überprüfen.

  • /etc/crontab(unwahrscheinlich, da dies normalerweise vom System gesteuert wird)
  • /etc/cron.daily/(kann sein, abhängig von Ihren Einstellungen; auf meinem Debian/Jessie-System,cron.täglichJobs werden laut um 6:25 Uhr morgens ausgeführt /etc/crontag, also ebenfalls unwahrscheinlich)
  • /etc/cron.d/(höchstwahrscheinlich)
  • DieWurzel-crontab-Datei des Benutzers (zB /var/spool/cron/crontabs/rootaber am besten zugänglich durch Ausführen crontab -lalsWurzeloder sudo crontab -l -u root.)

Zeitstempel - MySQL

Die history.sqlDatei ist relativ neu (19. Sept.) und wurde ziemlich früh erstellt ( 7:07); sie könnte genauso gut durch einen Cron-Job erstellt worden sein (siehe oben).

Das history_2013-08-26.sql.bz2wurde erstellt am30. Aug. um 21:02; unter der Annahme, dass 21 Uhr eine Zeit ist, in der von Systemadministratoren erwartet werden kann, etwas zu tun, und unter Berücksichtigung der Diskrepanz zwischen Zeitstempel (30. August) und Dateiname (26. August), würde ich annehmen, dass diese Datei erstellt wurdemanuell.

Antwort2

Es gibt Möglichkeiten, herauszufinden, wer eine Datei geschrieben hat. Normalerweise muss dazu aber vorher eine Überwachung eingerichtet werden.

Da alle Dateien etwa zur gleichen Zeit erstellt wurden, suchen Sie nach täglichen Cron-Jobs, die etwa zu dieser Zeit ausgeführt werden. Dadurch erhalten Sie wahrscheinlich die Antwort.

Wenn Sie habenBSD-Prozessabrechnungaktiviert ist, führen Sie es aus, lastcommum zu sehen, welche Prozesse möglicherweise zum Zeitpunkt des Schreibens der Datei ausgeführt wurden. Dies kann schwierig sein, da die Prozessbuchhaltung nur den Start eines Prozesses erfasst, nicht aber, wann er beendet wurde.

Es gibt Möglichkeiten, beim nächsten Anlegen einer Datei herauszufinden, wer verantwortlich ist. Eine Möglichkeit ist mit demAudit-Subsystem:

auditctl -A exit,always -F path=/opt/BACKUP/mongodb.tgz -S open -S rename

Eine weitere Möglichkeit ist mitinoffiziellRichten Sie beispielsweise eininkronArbeit:

/opt/BACKUP/mongodb.tgz IN_MOVED_TO,IN_CREATE logger $% $@/$#

verwandte Informationen