
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 mongodb
copias 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 cron
proceso; 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/root
pero se accede mejor ejecutándolocrontab -l
comoraízosudo crontab -l -u root
.)
marcas de tiempo - mysql
El history.sql
archivo 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.bz2
ha 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 lastcomm
para 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 $% $@/$#