O cron é um programa de “agendamento de tarefas”. Com ele você pode programar para ser executado qualquer coisa numa certa periodicidade ou até mesmo em um exato dia, numa exata hora. Um uso bem comum do cron é o agendamento de tarefas administrativas de manutenção do seu sistema, como por exemplo, procura por links simbólicos quebrados, análise de segurança do sistema, backup, entre outros. Estas tarefas são programadas para todo dia, toda semana ou todo mês, serem automaticamente executadas através do crontab e um script shell comum. A configuração do cron geralmente é chamada de crontab.
Para configurar um crontab por usuário, utiliza-se o comando “crontab“, junto com um parâmetro, dependendo do que você quiser fazer. Abaixo uma relação.
Comando | Função |
---|---|
crontab -e | Edita(ou cria) o crontab atual do usuário |
crontab -l | Exibe o atual conteúdo do crontab do usuário |
crontab -r | Remove o crontab do usuário |
+---------------- minuto (0 - 59)
| +------------- hora (0 - 23)
| | +---------- dia do mês (1 - 31)
| | | +------- mês (1 - 12)
| | | | +---- dia da semana (0 - 7) (Domingo=0 or 7)
| | | | |
* * * * * Comando para executar
^O(crtl+shift+O) para salvar, isso abaixo é exibido ao criar/editar um novo crontab, no rodapé.
Você irá ser perguntado onde salvar e o nome do crontab, exemplo de um padrão abaixo
Nome do Arquivo para Gravar: /tmp/crontab.vPSLto/crontab
Isso pode ser editado conforme sua necessidade, então é só apertar ENTER e Sair em seguida: ^X
^G Ajuda ^O Gravar ^R Ler o Arq ^Y Pág Anter ^K Recort Txt ^C Pos Atual
^X Sair ^J Justificar ^W Onde está? ^V Próx Pág ^U Colar Txt ^T Para Spell
Nesse exemplo o Crontab está agendado para criar o arquivo (arquivo_crontab.txt) no dia 22 Nov(11) às 00:11hs numa terça-feira(2)
11 00 22 11 2 touch /home/marcos/arquivo_crontab.txt
Nesse exemplo o Crontab está agendado para criar o arquivo (arquivo_crontab.txt) de 1 em 1 min das 0hs as 2hs todos os dias do mês, todos os meses e todos os dias da semana(* em minto quer dizer de 1 em 1 minuto, e para demais campos significa TODOS)
* 0-2 * * * touch /home/marcos/arquivo_crontab.txt
Para especificar “ou”, utilize uma vírgula, mesmo exemplo que nas 14 ou 16hs.
* 14,16 * * * touch /home/marcos/arquivo_crontab.txt
Neste exemplo, vamos criar todos os dias porém de 5 em 5 min(verifique a divisão)
00-59/5 * * * * touch /home/marcos/arquivo_crontab.txt
Por padrão, o crontab enviará um email à conta que o carrega se existe alguma saída no comando. Para cancelar o email do crontab, redirecione a saída para outro lugar. Por exemplo, para /dev/null
00 2 * * * python2.4 /home/usuario/script.py>/dev/null 2>&1
Para __VER seu Crontab é só usar no terminal
crontab -l
Para APAGAR seu Crontab é só usar no terminal
crontab -r
Bem é isso, agora é só adequar a sua necessidade!