Como automatizar tarefas regulares com o Cron no Ubuntu 20.04
O Сron permite que você execute automaticamente tarefas e scripts em intervalos específicos. Portanto, é uma ferramenta de administração de servidores muito popular. O Cron está presente em todas as distribuições Linux. Neste tutorial, configuraremos tarefas regulares usando o Cron no Ubuntu 20.04 e examinaremos sua sintaxe.
Instalando o cron
É muito provável que o cron esteja instalado em seu sistema. Mas se, de repente, esse não for o caso, você poderá corrigi-lo com o comando:
apt install cron
Adicione-o à inicialização automática e execute-o:
systemctl enable --now cron
Configuração simples do cron
A maneira mais fácil de criar uma tarefa regular usando o cron é colocar o script em uma das seguintes pastas:
- /etc/cron.hourly
- /etc/cron.daily
- /etc/cron.weekly
- /etc/cron.monthly
A frequência de execução é indicada no nome da pasta. É importante definir os direitos de execução e excluir os pontos dos nomes dos scripts.
Os logs do cron estão localizados aqui: /var/log/syslog. Aqui estão os logs de outros aplicativos. Portanto, para ver os logs do cron, use:
grep CRON /var/log/syslog
Configuração avançada do cron
Para configurar os trabalhos do cron, digite:
crontab -e
Na primeira inicialização, você será solicitado a selecionar o editor de texto de sua preferência. Especifique sua escolha e você verá uma explicação dos desenvolvedores sobre a configuração do cron, após a qual poderá inserir suas tarefas.
Formato de gravação - os valores a seguir são inseridos por meio de um espaço:
- minuto - de 0 a 59
- hora - de 0 a 23
- dia do mês - de 1 a 31
- mês - de 1 a 12 OU jan, fev, mar, abr, etc.
- dia da semana - de 0 a 6 (domingo = 0 ou 7) OU sun, mon, tue, wed, thu, fri, sat
- comando
Asterisco - para todos os valores. Exemplo:
10 20 * * * /var/script
Para essa entrada, o cron executará o script todos os dias às 20:10.
Opções adicionais de configuração do cron
O hífen (-) permite que você especifique um intervalo de valores. Por exemplo, execução em dias de semana:
10 20 * * 1-5
A vírgula (,) permite que você especifique vários valores. Por exemplo, o lançamento às 10 e 20 horas pode ser escrito da seguinte forma:
10 10,20 * * *
A barra (/) permite que você especifique uma etapa de valor. Por exemplo, executar a cada 10 minutos:
*/10 * * * *
Além disso, há expressões especiais para a criação simples de tarefas: @reboot, @yearly ou @annually, @monthly, @weekly, @daily, @hourly, @midnight. Quando aplicada, a frequência corresponderá ao seu nome. Por exemplo:
@midnight /var/script
Para ver todos os trabalhos cron configurados, use o comando:
crontab -l
Gerenciando trabalhos do cron de outros usuários
Você pode visualizar os trabalhos do cron criados por outros usuários se tiver direitos de administrador (sudo) ou depois de fazer login com a conta root:
crontab -u username -l
E até mesmo editá-los:
crontab -u username -e
Gerenciando os direitos de criação de trabalhos cron
Inicialmente, cada usuário tem permissão para criar trabalhos do cron.
Para proibir essa ação para determinados usuários, adicione seus logins ao arquivo /etc/cron.deny. Outros usuários terão o direito.
Para evitar que os trabalhos do cron sejam criados para todos os usuários, exceto alguns, adicione esses usuários ao arquivo /etc/cron.allow.


