Buscar: quién escribe las copias de seguridad

Buscar: quién escribe las copias de seguridad

Tengo un demonio que escribe copias de seguridad de Mongo y MySQL en el directorio /opt/BACKUP, pero no sé: ¿qué tipo de demonio, cuándo funciona y dónde puedo encontrar su configuración?

Estos archivos están en el directorio:

-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

¿Cómo puedo saber quién escribe mongodb.* y History_2013-08-26.sql.bz2?

Respuesta1

No puedes averiguarlo directamente. La única información que tienes es ladueñoy las marcas de tiempo de los archivos.

dueño

Dado que los archivos en cuestión son propiedad de root, esto le brinda poca información.

marcas de tiempo - mongodb

Como puede ver, las mongodbcopias de seguridad básicamente se realizan todas al mismo tiempo (las 4 y cuarto de la mañana). Esto, y el hecho de que el momento de creación es en algún momento de la noche, cuando los servicios probablemente tengan poca carga, hace que sea muy probable que la copia de seguridad sea activada por un cronproceso; por lo tanto, debe verificar la configuración cron.

  • /etc/crontab(poco probable, ya que esto suele estar controlado por el sistema)
  • /etc/cron.daily/(podría ser, dependiendo de su configuración; en mi sistema Debian/jessie,cron.diarioLos trabajos se realizan a las 6:25 de la mañana según /etc/crontag, por lo que también es poco probable)
  • /etc/cron.d/(más probable)
  • elraíz-archivo crontab del usuario (por ejemplo, /var/spool/cron/crontabs/rootpero se accede mejor ejecutándolo crontab -lcomoraízo sudo crontab -l -u root.)

marcas de tiempo - mysql

El history.sqlarchivo es bastante reciente (19 de septiembre) y se creó bastante temprano ( 7:07); también podría haber sido creado por un trabajo cron (ver arriba)

El history_2013-08-26.sql.bz2ha sido creado el30 de agosto a las 21:02; suponiendo que las 9 p. m. es un momento en el que se espera que los administradores de sistemas hagan algo de trabajo y teniendo en cuenta que existe una discrepancia entre la marca de tiempo (30 de agosto) y el nombre del archivo (26 de agosto), asumiría que este archivo se ha creado.a mano.

Respuesta2

Hay formas de saber quién escribió un archivo, pero normalmente requieren configurar una vigilancia de antemano.

Dado que todos los archivos se crearon aproximadamente al mismo tiempo, busque trabajos cron diarios que se ejecuten aproximadamente a esa hora. Esto tiene muchas posibilidades de darle la respuesta.

Si usted tienecontabilidad de procesos BSDhabilitado, ejecútelo lastcommpara ver qué procesos podrían haberse estado ejecutando en el momento en que se escribió el archivo. Puede resultar difícil, ya que la contabilidad de procesos sólo realiza un seguimiento de cuándo se inició un proceso, no de cuándo terminó de ejecutarse.

Hay formas de saber quién es el responsable la próxima vez que se cree un archivo. Una posibilidad es con elsubsistema de auditoría:

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

Otra posibilidad es coninotificar. Por ejemplo, configure unincrontrabajo:

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

información relacionada