Colocando uma tarefa no cron
Esse é daqueles posts que escrevo para não esquecer algumas coisas. Nessa semana precisei colocar um job no cron do meu sistema para que ele apagasse todos os arquivos que foram criados a mais de X minutos. Esse job deveria rodar de 10 em 10 minutos. A linha ficou assim:
Essa linha pega todos os arquivos dentro de uma pasta e joga seus nomes numa lista. Essa lista é lida no loop e o comando de remove é feito. Uma coisa interessante nessa lista é que só pega arquivos regulares, tudo isso graças a opção -type f. Você pode ver mais opções digitando
Outro detalhe legal dessa linha é como você define o intervalo de tempo para execução de algo no cron. No cron, funciona da seguinte forma: A B C D E onde cada um é:
- A – o minuto no qual quer que seu job execute. Ex: 0 ou 30
- B – hora
- C – dia
- D – mes
- E – ano
Se caso queira fazer algo como intervalo de tempo (quero que algo rode a cada 10 minutos) você pode usar */10(intervalo de tempo).
Existe ainda a opção de usar alias especiais do tipo @daily. Para mais informação, peça ajuda ao google ou ao man na sua linha de comando.
Uma última coisa é que estou jogando a saída da execução para o dev/null (para o limbo – lugar nenhum). Assim eu não fico com alertas e saidas indesejadas.