O uso de cron para preguiçoso. Linux e pecados capitais parte dois

tigre adormecido

Se você tem preguiça de fazer tarefas repetitivas em seu computador, o Cron faz isso para você.

Este é o segundo artigo de uma série em que usamos a lista do que a Igreja Católica chama de "pecados mortais" como desculpa paraSaiba mais sobre comandos e programas do mundo Linux. Neste caso continuamos falando sobre o uso do cron que será muito útil para quem cultiva a preguiça.

Dado que vivemos em uma época de pessoas fáceis de ofender, deixe-me esclarecer, antes de entrar no assunto, que não é minha intenção zombar das crenças religiosas de ninguém. Em qualquer caso, é uma auto-zombaria. Passei grande parte da década de XNUMX estudando catecismo para que, depois de ter feito minha primeira comunhão, nunca mais pusesse os pés em uma igreja, a menos que algum evento familiar o exigisse. Eu tenho que recuperar esse tempo de alguma forma.

Para que servem o cron e o crontab?

Nós dissemos que o cron é um daemon, ou seja um programa que é executado em segundo plano sem intervenção do usuário. Procurando por informações adicionais para este artigo, descobri que traduzir daemon (A maneira como sistemas Unix e derivados chamam esse tipo de programa) como daemon é um erro generalizadomas não vou corrigir. Estamos falando de pecados, tem que haver pelo menos um demônio.

A função do cron é executar, em um horário previamente especificado, uma determinada tarefa. Na maioria das vezes é devido às necessidades do sistema, embora os usuários possam indicar outros editando um arquivo de texto conhecido como crontab.

No post anterior dissemos que os comandos para criar o crontab são:

crontab –e para o usuário padrão

O

crontab –u nombre_de_usuario para qualquer um dos outros.

Crontab é um arquivo de texto que dá instruções ao Cron sobre o que fazer e quando fazer.

Sobre o uso do cron via crontab

Para criar nosso crontab devemos levar em conta o seguinte:

  • Uma linha é usada para cada tarefa.
  • A data e hora de execução da tarefa devem ser indicadas. Caso seja uma tarefa que exija periodicidade. Por exemplo, todas as quartas-feiras às 5h, os demais parâmetros são substituídos por asteriscos (*).
  • Se você deseja atribuir mais de um valor para um determinado parâmetro, cada valor deve ser separado por uma vírgula.
  • Os parâmetros são separados por um espaço.
  • Você deve saber o diretório onde o ativador de comandos está

Por exemplo, se quisermos que o computador de nossos filhos desligue todos os dias às 20h, a instrução seria

0 20 * * * /sbin/shutdown

Caso queiramos que o desligamento seja apenas aos domingos, alteramos a instrução para

0 20 * * 0 /sbin/shutdown

Existem alguns atalhos que nos poupam de ter que digitar todos os parâmetros. Eles são:

  • @hora: Execute um comando às horas. 
  • @diário: Execute o comando no início de cada dia.
  • @semanalmente: Execute o comando no início do primeiro dia da semana.
  • @por mês: Execute o comando no início do primeiro dia de cada mês.
  • @anual: Executa o comando no primeiro minuto do ano.

Alguns exemplos de uso deste comando são:

@daily /bin/sh /ruta_al_script/nombre_del_script.sh execute um script Bash.

@hourly /bin/python3 /ruta_al_script/nombre_del_script.py execute um script python a cada hora.

Em todos os casos scripts devem ter permissões de execução.

Nos exemplos que vimos, não apenas o comando é indicado, mas também o caminho onde o executável está localizado. Vamos trabalhar com estes diretórios:

  • /sou: Ele contém todos os aplicativos necessários para a operação do sistema.
  • /bin: Aqui estão os aplicativos que o usuário root precisa para gerenciar o sistema.
  • / Home: Onde são armazenados os aplicativos de cada usuário.
  • / usr: Os aplicativos e arquivos instalados pelos usuários são armazenados aqui. Eles incluem arquivos com os nomes e funções mencionados nesta lista.

No próximo artigo veremos como melhorar a escrita crontab e algumas outras ferramentas de automação disponíveis para Linux.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.