Minha ferramenta de código aberto favorita para usar o crontab
Crontab-ui é um frontend web escrito em Node.js que ajuda a gerenciar o arquivo crontab.
Automação é um tema quente no momento. Em meu trabalho diário como engenheiro de confiabilidade de site (SRE), parte de minha missão é automatizar o máximo possível de tarefas repetidas. Mas quantos fazem isso em nossas vidas diárias, não relacionadas ao trabalho? Este ano, estou focado em automatizar o trabalho para que possamos nos concentrar nas coisas que são importantes.
Uma das primeiras coisas que aprendi como administrador de sistemas novato foi cron
. O Cron é amplamente usado para fazer coisas como girar logs, iniciar e parar serviços, executar trabalhos utilitários e muito mais. Está disponível em quase todos os sistemas Unix e Linux e é algo que todo administrador de sistema que conheço usa para ajudar a gerenciar serviços e servidores. O Cron pode executar qualquer aplicativo ou script de console automaticamente, o que o torna muito, muito flexível.
(Kevin Sonney, CC BY-SA 4.0)
Eu usei o cron para buscar e-mails, executar programas de filtragem, garantir que um serviço esteja em execução, interagir com jogos online como o Habitica e muito mais.
Usando o cron da maneira tradicional
Para começar a usar o cron, você pode simplesmente digitar crontab -e
na linha de comando para abrir um editor com o arquivo crontab
atual (ou “tabela cron”) para você mesmo (se você fizer isso como root, obterá o crontab do sistema). É aqui que o cronograma do trabalho é mantido, juntamente com quando executar as coisas. David Both escreveu extensivamente sobre o formato do arquivo e como usá-lo, por isso não vou abordar isso aqui. O que vou dizer é que, para novos usuários, pode ser um pouco assustador, e configurar o tempo é um pouco chato.
Apresentando o crontab-ui
Existem algumas ferramentas fantásticas para ajudar com isso. Meu favorito é o crontab-ui, um frontend web escrito em Node.js que ajuda a gerenciar o arquivo crontab. Para instalar e iniciar o crontab-ui
para uso pessoal, usei os seguintes comandos.
# Make a backup
crontab -l > $HOME/crontab-backup
# Install Crontab UI
npm install -g crontab-ui
# Make a local database directory
mkdir $HOME/crontab-ui
# Start crontab-ui
CRON_DB_PATH=$HOME/crontab-ui crontab-ui
Feito isso, basta apontar seu navegador para http://localhost:8000
e você obterá a interface web crontab-ui. A primeira coisa a fazer é clicar em “Obter do Crontab” para carregar quaisquer trabalhos existentes que você possa ter. Em seguida, clique em Backup para poder reverter quaisquer alterações feitas daqui em diante.
(Kevin Sonney, CC BY-SA 4.0)
Adicionar e editar tarefas cron é muito simples. Adicione um nome, o comando completo que deseja executar e a hora (usando a sintaxe cron) e salve. Como bônus, você também pode capturar registros e configurar o envio do status do trabalho para o e-mail de sua preferência.
Quando terminar, clique emSalvar no Crontab.
Pessoalmente, adoro o recurso de registro. Com o crontab-ui, você pode visualizar os logs com o clique de um botão, o que é útil na solução de problemas.
Uma coisa que recomendo é não executar o crontab-ui o tempo todo, pelo menos não publicamente. Embora tenha algumas habilidades básicas de autenticação, ele realmente não deve ser exposto fora da sua máquina local. Não preciso mais editar meus cron jobs com frequência, então eu inicio e paro sob demanda.
Experimente o crontab-ui na próxima vez que precisar editar seu crontab!