
Eu tenho um daemon que grava backups do Mongo e MySQL no diretório /opt/BACKUP
, mas não sei - que tipo de daemon, quando funciona e onde posso encontrar suas configurações?
Esses arquivos estão no diretório:
-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
Como posso descobrir quem escreve mongodb.* e history_2013-08-26.sql.bz2?
Responder1
Você não pode descobrir diretamente. A única informação que você tem é aproprietárioe os carimbos de data/hora dos arquivos.
proprietário
como os arquivos em questão pertencem a root
, isso fornece poucas informações.
carimbos de data e hora - mongodb
Como você pode ver, os mongodb
backups acontecem basicamente todos ao mesmo tempo (4h15 da manhã). Isso - e o fato de o horário de criação ser em algum momento da noite, quando os serviços provavelmente estão sob pouca carga) torna muito provável que o backup seja acionado por um cron
processo; portanto, você precisa verificar a configuração do cron.
/etc/crontab
(improvável, já que isso geralmente é controlado pelo sistema)/etc/cron.daily/
(pode ser, dependendo das suas configurações; no meu sistema Debian/jessie,cron.dailyos trabalhos são executados às 6h25 da manhã, de acordo com/etc/crontag
, portanto, também é improvável)/etc/cron.d/
(provavelmente)- oraiz-arquivo crontab do usuário (por exemplo,
/var/spool/cron/crontabs/root
mas melhor acessado executandocrontab -l
comoraizousudo crontab -l -u root
.)
carimbos de data e hora - mysql
O history.sql
arquivo é bem recente (19 de setembro) e foi criado bem cedo ( 7:07
); poderia muito bem ter sido criado por um cron-job (veja acima)
O history_2013-08-26.sql.bz2
foi criado em30 de agosto às 21h02; assumindo que 21h é um horário em que se espera que os administradores de sistemas façam algum trabalho e observando que há uma discrepância entre o carimbo de data e hora (30 de agosto) e o nome do arquivo (26 de agosto), presumo que este arquivo foi criadomanualmente.
Responder2
Existem maneiras de saber quem escreveu um arquivo, mas geralmente é necessário configurar um relógio com antecedência.
Como todos os arquivos foram criados aproximadamente ao mesmo tempo, procure cron jobs diários executados nesse horário. Isso tem uma boa chance de lhe dar a resposta.
Se você temContabilidade de processos BSDativado, execute lastcomm
para ver quais processos poderiam estar em execução no momento em que o arquivo foi gravado. Pode ser difícil, uma vez que a contabilidade de processos apenas controla quando um processo foi iniciado, e não quando terminou a sua execução.
Existem maneiras de descobrir quem é o responsável na próxima vez que um arquivo for criado. Uma possibilidade é com osubsistema de auditoria:
auditctl -A exit,always -F path=/opt/BACKUP/mongodb.tgz -S open -S rename
Outra possibilidade é comnotificar. Por exemplo, configure umíncrontrabalho:
/opt/BACKUP/mongodb.tgz IN_MOVED_TO,IN_CREATE logger $% $@/$#