Como agendar Crontab para executar no tempo de inicialização do sistema
Os sistemas Linux e Unix são pré -instalados com o Cron Utility, um agendador de empregos que facilita a agenda de trabalhos no arquivo Crontab. A mesma utilidade está disponível para macos. A sintaxe para agendar trabalhos em intervalos especificados é fornecida abaixo:
Min Hour Day-of Month Mês do dia da semana [Comando]
Por exemplo, você pode usar o seguinte comando se precisar executar um script de backup a cada 20 minutos a partir das 3:00 p.m. às 4:00 p.m. diário.
*/20 15-16 * * */caminho/para/backup.sh
O comando anterior funciona quando você precisar executar um emprego em um determinado momento, mas e se você precisar do mesmo comando para executar após cada inicialização?
Para definir o mesmo comando para ser executado quando o sistema reiniciar, substitua os campos de data e hora com @reboot. O novo comando seria:
@reboot/path/to/backup.sh
No comando anterior, o @reinício especifica que Cron deve executar o comando especificado após cada inicialização. Novamente, devemos adicionar o comando ao arquivo crontab.
Use o seguinte comando para abrir o arquivo Crontab e edite -o para adicionar nosso novo trabalho.
Crontab -e
Observe que estamos criando o trabalho para o usuário atual. Se você precisar agendar a tarefa para um usuário diferente, por exemplo, um usuário nomeado Linuxhint1, O seguinte comando seria:
Crontab -e -u Linuxhint1
Depois que o arquivo crontab abrir, adicione o comando na linha de fundo. Salve o arquivo e saia.
Além disso, observe que estamos usando um Nano Editor, seu editor pode ser diferente, mas o comando é o mesmo.
Se o trabalho estiver agendado com sucesso, você deve receber uma mensagem como a mostrada na imagem a seguir para indicar uma instalação bem -sucedida do novo Crontab:
Ainda assim, você pode usar o seguinte comando para listar os trabalhos programados.
Crontab -l
Se você não deseja mais executar o comando na hora da inicialização, pode removê -lo editando o arquivo Crontab ou usando o comando fornecido abaixo. Observe que o comando a seguir exclui todos os trabalhos agendados. Se não é isso que você deseja alcançar, role para baixo no crontab e exclua manualmente o trabalho usando um editor.
Crontab -r
O @reboot executa um comando imediatamente após o tempo de inicialização. No entanto, você pode especificar um período de sono antes que o comando seja executado. Por exemplo, se você precisar do comando para executar 10 minutos após a inicialização, você deve definir o tempo em segundos.
O comando seria.
@Reboot Sleep 600/Path/to/backup.sh
600 representa os 10 minutos expressos em segundos e dormir é a opção de usar ao especificar o tempo antes da execução.
Nosso novo arquivo Crontab seria definido, como mostrado abaixo:
Na próxima vez que você reiniciar seu servidor, o script de backup ou o comando set executará após 10 minutos.
Por fim, podemos verificar se o trabalho programado será executado verificando o status para Serviço Crond. Deveria ser ativo. Use o seguinte comando para verificar seu status:
SUDO SYSTEMCTL STATUS CRON.serviço
Você está pronto para ir se obter uma saída como a seguinte saída:
Se o status de Crond não estiver ativo, você poderá ativá -lo usando o seguinte comando e verifique o status:
sudo systemctl Ativar cron.serviço
É isso. Seu comando será executado na hora da inicialização.
Conclusão
Saber como agendar trabalhos no tempo de inicialização é essencial para os administradores do Linux. Felizmente, este guia cobriu um guia prático abrangente sobre como fazer isso usando o utilitário Linux Cron. Além disso, discutimos como você poderia definir um tempo de sono antes do comando executar.