shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Duvida Script para analise de arquivos por data de cr


From: Fernando Mercês
Subject: Re: [shell-script] Duvida Script para analise de arquivos por data de criação.
Date: Fri, 6 Mar 2015 02:47:14 -0300

MrBiTs,

Eu lembro que me deparei com este dilema quando estava escrevendo uma apostila de forense para o curso da 4Linux. Você pode usar o comando stat interno do debugfs, do e2fsprogs. Segue trecho da apostila que comento: http://pastebin.com/DnQNK1pa

O chato é ter que abrir o filesystem onde o arquivo está, mas deve dar pra scriptar pegando com pwd, dirname e /etc/mtab, sei lá. Acho que é algo a se pensar pra eu incluir na bashacks! :)

Grande abraço.


Att,

Fernando Mercês
Linux Registered User #432779
www.mentebinaria.com.br
------------------------------------
"Ninguém pode ser escravo de sua identidade; quando surge uma possibilidade de mudança é preciso mudar". (Elliot Gould)

2015-03-05 18:12 GMT-03:00 MrBiTs address@hidden [shell-script] <address@hidden>:
 

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

>

> Prezados, estou montando um script que analisa os arquivos por data de criação. O escopo é fazer um backup de uma base de
> dados, caso não existam arquivos de backup para o dia corrente. Pensei em utilizar a linha abaixo para determinar a existencia
> de arquivos, no entanto gostaria de saber se existe algum output no bash, caso a pesquisa retorne sem resultados, tipo o $? que
> usamos para saidas de erro. Comando de pesquisa. find . -mtime -1 -iname '*.sql.bkp' Abraços!
>

Só a título de curiosidade, o padrão POSIX define 3 tipos distintos de timestamp para cada arquivo: o último acesso, a última
modificação e a modificação do status do arquivo.

Isto posto, os filesystem mais modernos como ext4, Btrfs e JFS podem armazenar o birthtime (data de criação) mas usam nomes
diferentes para o campo. Ele é crtime no ext4 e otime nos outros dois. Infelizmente, o kernel do Linux não tem rotinas que
conseguem acessar esses dados, mesmo que o filesystem os suporte.

O comando stat suporta os formatos '%w' e '%W' para mostrar o birthtime, mas ele acessa essas informações através da rotina
get_stat_birthtime() da glib, que pega o birth time dos campos st_birthtime e st_birthtimesec na estrutura retornada pela system
call stat(). Enquanto os BSD nos dão esse campo, o Linux não dá. Por isso um comando stat -c '%w' arquivo no Linux nos retorna só
um -, mesmo o filesystem armazenando esse dado internamente.

No caso do find do Linux, os parâmetro mtime e ctime de maneira nenhuma referem-se à data de criação do arquivo, então muito
cuidado com a sua especificação e com o uso desses caras. O -mtime traz a data da modificação e o -ctime, a data de alteração do
status do arquivo.

Se você, entretanto, estiver em um BSD, use o -Btime do find e seja feliz.

- --
echo
920680245503158263821824753325972325831728150312428342077412537729420364909318736253880971145983128276953696631956862757408858710644955909208239222408534030331747172248238293509539472164571738870818862971439246497991147436431430964603600458631758354381402352368220521740203494788796697543569807851284795072334480481413675418412856581412376640379241258356436205061541557366641602992820546646995466P
| dc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBCAAGBQJU+MbVAAoJEG7IGPwrPKWroHsH/RAjiGqQ8iMELIW11sON7Oxa
KWCCQGCb51SF3nBq2DNhzPrEseFnf4jh3AIqpqNMAiw0l01NZoRVYLGc9WkOFdWo
whBZUx8kk9J87fzIau615Xn6p7Tjo4OMg7IY+divD7pDtzcxL55Nf6oo7naxOuDl
akwq6xasZGVkdW9T/uuEy4HKbQuoZ7fiNaTGnVVDx6z0B1phv2J7GXux0+xtlros
MAslnVDrHjPA0fE2+GepvmyqfwdJBnafHZCYMGrzihKr3K+YwTnYNuF+m15YNepK
xu4NS9ty2alK1g0QaH4QdposuWDN9Qv88qiWZFfS63QhlKOgrqLh0+RFPXZATbs=
=x+rK
-----END PGP SIGNATURE-----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]