Como executar Crontab no tempo de inicialização do sistema

Como executar Crontab no tempo de inicialização do sistema
Você está procurando uma solução para executar Crontab sempre que o seu servidor ou sistema reinicie? Isso é possível usando a opção @reboot. A maneira padrão de administrar os trabalhos de Cron está especificando sua data e hora, seguidos pelo caminho para o comando para executar. O mesmo conceito é usado ao definir um comando que deve ser executado sempre que o servidor reiniciar. A única diferença é que, neste caso, não especificamos a data e a hora. Em vez disso, usamos o @reinício seguido pelo caminho para o comando. Vamos ver como isso funciona.

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.