tempo de modificação aleatório dos arquivos

0

Eu verifiquei na net e eu aprendi como mudar o tempo de modificação dos arquivos, depois eles têm o mesmo tempo de modificação, não é meu desejo, eu quero ter o tempo aleatório, que é melhor para segurança, Alguém pode me dizer como fazer?

    
por user263234 29.03.2014 / 11:45

1 resposta

0

O primeiro desafio é gerar uma data aleatória. Aqui está o que eu inventei.

date -d @$(shuf -i "0-$(date +%s)" -n 1) +%Y%m%d%H%M.%S

Trabalhando de dentro para fora:

  • date +%s obtém a data atual como um timestring Unix (segundos no Epoc, desde 1970)
  • shuf usa isso como um limite superior para um número aleatório de 0
  • date converte isso de volta em algo que podemos usar.

Depois, há a configuração do mtime em um arquivo. Felizmente, touch torna isso realmente simples:

touch -mt <[[CC]YY]MMDDhhmm[.ss]> <filename>

Então, precisamos apenas fazer o loop dos arquivos e encadear esses dois:

find -type f -exec sh -c 'touch -m -t $(date -d @$(shuf -i "0-$(date +%s)" -n 1) +%Y%m%d%H%M.%S) "{}"' \;

Há um pouco de preenchimento para impedir que a data seja gerada aleatoriamente fora do loop, mas isso funciona:

$ ls -l
total 0
-rw-rw-r-- 1 oli oli 0 Jan  4  2012 1
-rw-rw-r-- 1 oli oli 0 Jan 28  2009 2
-rw-rw-r-- 1 oli oli 0 Jun  8  1984 3
    
por Oli 29.03.2014 / 12:21