Como modificar arquivos no Unix para evitar a política de limpeza de arquivos?

4

Temos uma política em nosso cluster de que todos os arquivos não modificados ou acessados dentro de 30 dias serão excluídos. Eu tenho um projeto em execução e quero manter todos os arquivos até que eu termine, seria possível enganar o sistema fazendo algo como:

find ./ -type f -exec touch {} +

Eu tentei isso e parece que o registro de data e hora muda, mas será que isso enganará o sistema, fazendo-o pensar que os arquivos foram realmente modificados?

    
por hat 06.01.2016 / 04:29

2 respostas

3

Claro que isso deve funcionar.

Mas certifique-se de verificar com o comando 'stat'.

sh-4.3$ stat test.csv                                                              
File: 'test.csv'                                                                 
Size: 871             Blocks: 8          IO Block: 4096   regular file           
Device: 20fd4bh/2161995d        Inode: 8389896     Links: 1                        
Access: (0644/-rw-r--r--)  Uid: ( 1000/      cg)   Gid: ( 1000/      cg)           
Access: 2016-01-06 05:29:32.220197637 +0000                                        
Modify: 2016-01-06 05:29:32.220197637 +0000                                        
Change: 2016-01-06 05:29:32.220197637 +0000                                        
Birth: -                                                                          
sh-4.3$                                                                            
    
por 06.01.2016 / 06:40
3

Se a política for realmente "arquivos não modificados ou acessados em 30 dias", você poderá definir os tempos de acesso dos arquivos executando touch -a em vez de touch simples. A vantagem de fazer isso dessa maneira é que ele não interrompe os tempos de modificação, portanto, ele não interromperá os scripts de construção e você poderá continuar usando o tempo de modificação como uma indicação da idade dessa versão do arquivo.

Você pode ver o tempo de acesso de um arquivo com ls -lu .

    
por 07.01.2016 / 02:20