Um daemon no Linux chamado cron executa processos em intervalos regulares. Ele verifica certas pastas no seu sistema para que os scripts sejam executados em uma série de pastas, incluindo /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly e /etc/cron.monthly. Existe também um arquivo chamado / etc / crontab.
Colocando scripts em pastas Cron
Você pode simplesmente colocar scripts nas pastas relevantes para que eles sejam executados em intervalos regulares.
Por exemplo, abra uma janela de terminal e execute o seguinte comando ls:
ls / etc / cron *
Você verá a lista de programas ou scripts que são executados por hora, diariamente, semanalmente e mensalmente.
O problema com essas pastas é que elas são um pouco vagas. Por exemplo, diariamente significa que o script será executado uma vez por dia, mas você não terá controle sobre o tempo em que o script será executado durante esse dia.
É aí que entra o arquivo crontab.
Ao editar o arquivo crontab, você pode obter um script ou programa para ser executado na data e hora exatas em que deseja executar.
Permissões
O comando crontab requer que um usuário tenha permissões para editar um arquivo crontab. Existem basicamente dois arquivos que são usados para gerenciar permissões de crontab:
- /etc/cron.allow
- /etc/cron.deny
Se o arquivo /etc/cron.allow existir, o usuário que deseja editar o arquivo crontab deverá estar nesse arquivo. Se o arquivo cron.allow não existir, mas houver um arquivo /etc/cron.deny, o usuário não deverá existir nesse arquivo. Se ambos os arquivos existirem, o /etc/cron.allow substitui o arquivo /etc/cron.deny. Se nenhum arquivo existir, depende da configuração do sistema se um usuário pode editar o crontab.
O usuário root sempre pode editar o arquivo crontab. Você pode usar o comando su para alternar para o usuário root ou o comando sudo para executar o comando crontab.
Editando o Arquivo Crontab
Cada usuário que possui permissões apropriadas pode criar seu próprio arquivo crontab. O comando cron basicamente procura todos os arquivos crontab e executa cada um deles.
Para verificar se você possui um arquivo crontab, execute o seguinte comando:
crontab -l
Se você não tiver um arquivo crontab, a mensagem "no crontab for Para criar ou editar um arquivo crontab, execute o seguinte comando: crontab -e O arquivo que é aberto tem muitas informações, mas a parte principal é o exemplo logo antes do final da seção de comentários (os comentários são indicados por linhas que começam com #). # m h dom mon dow command 0 5 * * 1 tar -zcf /var/backups/home.tgz / home / Existem 6 informações para caber em cada linha do arquivo crontab: Para cada item (exceto o comando), você pode especificar um caractere curinga. Veja o seguinte exemplo de linha crontab: 30 18 * * * tar -zcf /var/backups/home.tgz / home / Aos 30 minutos, 18 horas e qualquer dia, mês e dia da semana, essa entrada do crontab zipará e tará o diretório inicial para a pasta / var / backups. Para obter um comando para executar 30 minutos após cada hora, execute o seguinte comando: 30 * * * * comando Para que um comando seja executado a cada minuto após as 18:00, execute o seguinte comando: * 18 * * * comando Portanto, você precisa ter cuidado ao configurar seus comandos crontab. Por exemplo: * * * 1 * comando Este comando será executado a cada minuto de todas as horas de todos os dias de todas as semanas em janeiro. Para executar um comando às 5 da manhã de 1º de janeiro, você faria o seguinte comando no arquivo crontab: Na maioria das vezes você não vai querer remover o arquivo crontab, mas você pode querer remover algumas linhas do arquivo crontab. No entanto, se você quiser remover o arquivo crontab do seu usuário, execute o seguinte comando: crontab -r Uma maneira mais segura de fazer isso é executar o seguinte comando: crontab -i O sistema operacional solicita a verificação antes de remover o arquivo crontab.
Como remover um arquivo Crontab