L'ús de cron per a mandrosos. Linux i pecats capitals segona part

tigre dormint

Si et fa mandra fer tasques repetitives al teu ordinador, Cron les fa per tu.

Aquest és el segon article d'una sèrie en què utilitzem la llista del que l'Església Catòlica anomena “pecats capitals” com a excusa per cconèixer més sobre ordres i programes del món Linux. En aquest cas, continuem parlant sobre l'ús de cron que serà de gran utilitat per als qui cultiven la mandra.

Atès que estem vivint una època de gent d'ofensa fàcil permeteu-me aclarir, abans d'entrar en matèria, que no és la meva intenció burlar-me de les creences religioses de ningú. En tot cas és una acte burla. Vaig passar gran part de l'any vuitanta estudiant catecisme per després d'haver pres la Primera Comunió no tornar a trepitjar una església tret que algun esdeveniment familiar ho requerís. He de recuperar aquest temps d'alguna manera.

Per què serveixen cron i crontab

Havíem dit que cron és un dimoni, és a dir un programa que sexecuta en segon pla sense que lusuari tingui intervenció. Buscant informació addicional per a aquest article vaig descobrir que això de traduir daemon (La manera com els sistemes Unix i derivats denominen aquest tipus de programes) com a dimoni és un error molt estès, però no ho corregiré. Estem parlant de pecats, hi ha d'haver com a mínim un dimoni.

La funció de cron és executar, en un moment especificat prèviament, una determinada tasca. La majoria de vegades és per necessitats del sistema, encara que els usuaris podem indicar-ne d'altres a partir de l'edició d'un fitxer de text conegut com a crontab.

Al post anterior havíem dit que les ordres per crear crontab són:

crontab –e per a l'usuari per defecte

O

crontab –u nombre_de_usuario per a qualsevol dels altres.

Crontab és un fitxer de text que us brinda a Cron les instruccions sobre què ha de fer i quan fer-ho.

Quant a l'ús de cron mitjançant crontab

Per crear el nostre crontab hem de tenir en compte el següent:

  • S'utilitza una línia per a cada tasca.
  • Cal indicar la data i l'hora d'execució de la tasca. En cas que sigui una tasca que requereixi periodicitat. Per exemple, tots els dimecres a les 5 del matí, la resta dels paràmetres es reemplacen per asteriscs (*).
  • En cas que es vulgui assignar més d'un valor per a un paràmetre determinat, cada valor s'ha de separar per una coma.
  • Els paràmetres se separen amb un espai.
  • S'ha de conèixer el directori on hi ha el llançador de l'ordre

Per exemple, si volem que els nostres fills s'apaguin cada dia a les 20, la instrucció seria.

0 20 * * * /sbin/shutdown

En cas que busquem que l'apagat sigui només els diumenges canviem la instrucció a

0 20 * * 0 /sbin/shutdown

Hi ha algunes dreceres que ens estalvien haver d'escriure tots els paràmetres. Ells són:

  • @horària: Executa una ordre a l'hora en punt. 
  • @diari: Executa la comanda al començament de cada dia.
  • @setmanal: Executa la comanda al començament del primer dia de la setmana.
  • @mensual: Executa la comanda en començar el primer dia de cada mes.
  • @anualment: Executa l'ordre al primer minut de l'any.

Alguns exemples de l'ús d'aquesta ordre són:

@daily /bin/sh /ruta_al_script/nombre_del_script.sh executa un script a Bash.

@hourly /bin/python3 /ruta_al_script/nombre_del_script.py executa un script a python cada hora.

En tots els casos els scripts han de tenir permisos d'execució.

Als exemples que vam veure s'indica no només l'ordre sinó també la ruta on es troba l'executable. Treballarem amb aquests directoris:

  • /am: Que conté totes les aplicacions necessàries per al funcionament del sistema.
  • /sbin: Aquí hi ha les aplicacions que lusuari arrel necessita per manejar el sistema.
  • / home: On s'emmagatzemen les aplicacions de cada usuari.
  • /usr: Aquí es guarden aplicacions i fitxers instal·lats pels usuaris. Inclouen fitxers amb els noms i funcions esmentats en aquesta llista.

Al proper article veurem com millorar la redacció de crontab i algunes altres eines d'automatització disponibles per a Linux.


Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.