Introdução ao Bash Scripting
Alex Scriven
Data Scientist
Há muitas situações em que agendar scripts é útil:
Agendar scripts com cron é essencial para conhecer infraestruturas de dados modernas.
O Cron faz parte de sistemas tipo Unix desde os anos 70. Humanos são preguiçosos há tanto tempo!
O nome vem do grego para tempo, "chronos".
Ele é guiado por algo chamado crontab, um arquivo que contém cronjobs, e cada um diz ao crontab que código rodar e quando.
Você pode ver quais agendamentos (cronjobs) estão programados com o comando:
crontab -l
crontab: no crontab for user
Parece que precisamos criar um agendamento (cronjob)!
Esta ótima imagem da Wikipedia mostra como construir um cronjob dentro do arquivo crontab. Você pode ter muitos cronjobs, um por linha.

*, significa "todo"Vamos ver alguns exemplos de cronjob:
5 1 * * * bash myscript.sh
*, então todo dia e mês
15 14 * * 7 bash myscript.sh
* (todo dia do mês, todo mês). A última é dia 7 (aos domingos).Se você quiser rodar algo várias vezes por dia ou a cada "X" intervalos, isso também é possível:
15,30,45 * * * * roda nos minutos 15, 30 e 45, para as horas definidas pela segunda estrela. Aqui é toda hora, todo dia etc.*/15 * * * * roda a cada 15 minutos. Também para toda hora, dia etc.Vamos agendar um script chamado extract_data.sh para rodar todo dia às 1h30. Siga estes passos:
crontab -e para editar sua lista de cronjobs.nano é uma opção fácil e com curva de aprendizado menor que vi (vim).30 1 * * * extract_data.sh3. Saia do editor salvando
Se estiver usando nano (no Mac), use ctrl + o, depois enter, e ctrl + x para sair.
Você verá a mensagem crontab: installing new crontab
4. Confira se está lá rodando crontab -l.
30 1 * * * extract_data.sh
Bom trabalho!
Introdução ao Bash Scripting