Estou tendo uma pasta específica ( /home/sam/officedocuments
) que possui centenas de pastas e arquivos. Acho que excluí alguns arquivos e pastas por engano, mas não tenho certeza.
Como encontrar quais arquivos / pastas foram:
- excluído recentemente no Linux?
- mudou recentemente no Linux?
Eu só quero saber quais arquivos e pastas foram excluídos. Recuperar esses arquivos e pastas excluídos não é importante para mim.
SO: CentOS
ext3grep
utilitário para descobrir informações sobre arquivos excluídos. Com alguns scripts, deve ser possível montar um aplicativo simples que lista os arquivos excluídos com base em um diretório específico. Esses utilitários, no entanto, precisam de acesso bruto ao disco e, como tal, são extremamente perigosos se não forem usados corretamente ( operações de leitura sem bloqueio devem ser completamente seguras se você se lembrar que gravar no disco ao mesmo tempo pode fazer com que a operação atual retorne dados quebrados / incorretos ).Respostas:
Use
find
para pesquisar por hora da modificação. Por exemplo, para encontrar arquivos tocados nos últimos 3 dias:find /home/sam/officedocuments -mtime -3
Para "mais de 3 dias", use
+3
.Praticamente impossível. Quando um arquivo é excluído, ele simplesmente desaparece. Na maioria dos sistemas, isso não é registrado em nenhum lugar.
fonte
3
... o que preciso usar nos últimos30
minutos?ext3
sistema de arquivos. O ext3grep pode ajudar ao caçar. Eu recebi superuser.com/a/433785/132604 que possui algumas informações e links para utilitários que podem ser usados para encontrar ( possivelmente recuperar também ) arquivos excluídos e informações sobre eles. Quando você exclui um arquivo, na maioria dos sistemas de arquivos, ele não é realmente removido, mas marcado como espaço que pode ser sobrescrito por demanda.Você provavelmente deve instalar o Inotify Tools . então você pode usar o
inotifywait
comando para escutar eventos que estão acontecendo no diretório especificado.Especificamente, se você deseja assistir a arquivos e pastas excluídos, use este
e registre essa saída em algum arquivo.
Espero que isso resolva seu problema
fonte
/
raiz, levando em consideração as unidades de montagem / desmontagem? Eu acho que, nesse caso, a única coisa viável para manter um log de exclusão seria um módulo do kernel que se conectariaunlink
(consulte stackoverflow.com/questions/8588386/… ); tambémman inotifywait
afirma: "--recursive: Aviso: ... esta opção enquanto assiste ... a uma árvore grande, pode demorar um pouco. Além disso, ..., será atingida a quantidade máxima de inotify watchs por usuário. o padrão máximo é 8192; "dmesg [| tail]
deve mostrar-lhe montagens / desmontagens [recentes], se é isso que você está perguntando.O Linux geralmente não pede confirmação antes de remover arquivos, supondo que você esteja usando
rm
na linha de comando.Para localizar arquivos modificados nos últimos 30 minutos, use
touch --date="HH:MM" /tmp/reference
para criar um arquivo chamado reference com um carimbo de data e hora de 30 minutos atrás (em que HH: MM corresponde a 30 minutos atrás). Em seguida, usefind /home/sam/officedocuments -newer /tmp/reference
para encontrar arquivos mais recentes que a referência.Se você excluiu arquivos usando uma ferramenta GUI, eles ainda podem estar em algum tipo de "lixeira". Depende do que você está usando para um ambiente de área de trabalho. Se você usou
rm
na linha de comando, tente um dos utilitários mencionados nesta resposta . (Dica de chapéu para @ Sampo para esse link.)fonte