Auto-delete arquivos depois de terem estado no servidor por 14 dias

1

Temos um servidor FTP Linux no qual clientes e gerentes de projetos fazem upload de arquivos para trocar arquivos. Infelizmente, ninguém entra e apaga tudo quando acaba com isso. Estou procurando uma maneira elegante de excluir automaticamente um arquivo depois de duas semanas.

Eu estava pensando em um cron job com essa sintaxe que encontrei on-line. Minha pergunta é em que dia ele considerará o dia 0? O dia em que o arquivo foi criado na máquina local do usuário ou no dia em que foi copiado para a caixa do Linux?

find /path/to/directory/* -mtime +t -exec rm {} \;
    
por Copy Run Start 24.04.2013 / 21:11

4 respostas

2

Como seu parâmetro para find é -mtime , o que significa "Os dados do arquivo foram modificados pela última vez n * 24 horas atrás" de acordo com o documentação para find , seria a data em que o arquivo foi carregado (ou modificado) no seu servidor FTP.

Para determinar um valor adequado para +t , consulte a seção a seguir, sobre como o achado arredonda o tempo de correspondência:

When find figures out how many 24-hour periods ago the file was last accessed,
any fractional part is ignored, so to match -atime +1, a file has to have been accessed at least two days ago.

    
por 24.04.2013 / 21:56
2

Considere usar a opção -atime em vez de -mtime. Ele será localizado com base na última vez em que o arquivo foi acessado.

    
por 24.04.2013 / 21:58
1

Além disso, confira tmpwatch ou primorar .

    
por 13.06.2013 / 19:35
0

find usará a caixa mtime on linux. Espero que este seja o host onde o servidor FTP está sendo executado.

    
por 24.04.2013 / 21:54