Automatització de tasques

Introducció

Moltes de les tasques d'administració d'un servidor s'han de portar a terme de manera periòdica.

Per exemple:

  • fer còpies de seguretat dels teus arxius un cop al dia
  • actualitzar el sistema
  • canviar el fons de pantalla cada 30 minuts.

És necessari que el sistema operatiu ens proporcioni alguna eina per a poder configurar totes aquestes tasques de forma automàtica i periòdica.

El dimoni [daemon] anomenat crond és el que s'encarrega de gestionar tot el sistema d'execucions periòdiques.

Servei cron

El Linux té un servei anomenat cron que funciona despertant-se cada minut i mirant un fitxer on hi ha les tasques programades.

Podem saber que el procés s'està executant amb la comanda:

ps aux | grep cron

En el fitxer /etc/crontab conté la informació de les tasques programades.

Cada usuari té el seu propi fitxer crontab.

Programar tasques periòdiques

La comanda crontab permet programar tasques periòdiques i especificar el moment d'execució.

Es pot configurar el cron per cada usuari, tot i què normalment només es fa pel root.

  • Per veure les tasques programades de l'usuari actual.

    sudo crontab -l

  • Per editar el fitxer de tasques de l'usuari actual.

    sudo crontab -e

  • Per editar el fitxer de tasques de l'usuari root.

    sudo crontab -u root -e

  • Per eliminar les taques programades de l'usuari actual.

    crontab -r

Editar tasques programades

sudo crontab -e

La primera vegada què es posi en marxa, demanarà amb quin editor es vol modificar la configuració: per defecte està marcada la opció 2 (/bin/nano)

Els camps què s'han de posar a cada línia són els següents:

< minut > < hora> < diaMes> < mes> < diaSetmana> < usuari> < comanda>

(0-59) (0-23) (1-31) (1-12) (0 o 7=diumenge - 6)

  • minut (0-59): en quin minut o minuts s'ha d'executar la comanda.
  • hora (0-23): en quina o quines hores s'ha d'executar la comanda.
  • dia del mes (1-31): en quin o quins dies del mes s'ha d'executar la comanda.
  • mes (1-12): en quin o quins mesos s'ha d'executar la comanda.
  • dia de la setmana (0-7): tant el 0 com el 7 representen el diumenge. La comanda només s'executarà si cau en un dels dies especificats.
  • usuari: l'usuari que s'utilitzarà per a executar la comanda.
  • comanda: comanda o script a executar. Si és un script, convé indicar tota la ruta, per exemple: /home/usuari/script.sh

Exemples:

Símbol Significat Exemple
* Tot el rang. Cada unitat de temps diaMes * Cada dia
num Per indicar el moment concret Hora 15 A les 15:00h
num-num Rang de valors consecutius No posar espais Mes 1-6 Del Gener al Juny
num, num, num Per indicar valors concrets de hores, dies o mesos. No posar espais diaSetmana 1,3,5 Cada dilluns, dimecres i divendres
*/num Cada determinat temps Hores */2 Cada 2 hores
num-num/num Hora 8-20/5 Entre les 8h i les 20h, cada 5 hores

Exercici

Solució

Amb entorn gràfic

Per automatitzar tasques en mode gràfic, s'utilitza el programa anomenat Tareas programadas (gnome-schedule).

Amb Ubuntu hi accedim des de Aplicacions> Eines del sistema > Tasques programades

Aquest programa permet programar tasques per ser realitzades només una vegada o periòdicament.

#FpInfor #SmxMp04 #AsixMp01 #SistemesOperatius #LDAP #Samba #WindowsServer

Autor: Sergi Coll

results matching ""

    No results matching ""