Comando: at [-l / -d] [-q <NoCola>] -f <ScriptAEjecutar> -m <CuandoEjecutar> (-l / -d: lista / borra tareas)
- Listas de usuarios permitidos/denegados a insertar tareas (uno por linea): /etc/at.allow, /etc/at.deny
- Utilización como script: Crear el script a ejecutar en la carpeta deseada /etc/cron.xxx donde:
hourly (cada hora), daily (cada día), weekly (cada semana), monthly (cada mes) - Utilización mediante archivo de tareas /etc/crontab (Permite más control sobre los intervalos de tiempo):
# Rutas si no se especifican, se toman las del usuario actual.
SHELL=[<RutaAlShellQueEjecutaLosComandos>]
PATH=<RutasDeCarpetasDondeSeBuscaranLosComandosEjecutados>
MAILTO=[<DirecciónDeCorreoQueRecibiráLaSalidaDe/LosComandosEjecutados>]
HOME=[<RutaALaCarpetaHomeDelUsuarioQueEjecuta>]
# Tareas cron (cada una en una línea)
# Sintaxis: mm hh DD MM WW <NombreUsuarioQueEjecuta> Comando1[;Comando2]...[;ComandoN]
# mm: Minutos, hh: hora, DD: día del mes, MM: mes, WW: día de la semana (domingo: 0 o 7).
# Valores posibles: Todos (*), Cada x (*/x), Alternos (n1,n2,n3). - A tener en cuenta:
1.- Sólo el usuario root tiene permisos de escritura sobre /etc/cron.xxx. o sobre el archivo /etc/crontab.
2.- Los usuarios no root editan sus tareas ejecutando: crontab -e [-u <NombreUsuario>] (sin colum. usuario)
3.- Listas de usuarios permitidos/denegados a insertar tareas (uno por linea): /etc/cron.allow, /etc/cron.deny
4.- Si una tarea programada en cron no sucede (p.ej.: pc apagado), ya no sucederá jamás para ese instante.
Nosotros vamos al crontab: nano /etc/crontab.
Añadimos una línea al final (ver ejemplos en google):
/etc/crontab (http://francisconi.org)
Contiene información acerca de los trabajos que se van a ejecutar. Cada usuario tiene un archivo crontab que se guarda en el directorio /var/spool/cron. Cada archivo tendrá un nombre que será el del usuario que creo cada tab. La única diferencia entre /etc/crontab y los crontabs de usuario es que el /etc/crontab agrega un campo adicional donde se especifica bajo que usuario se ejecutarán las tareas. Ejemplo:
@reboot root kinit -k host/pzosdgstdeb1$ -c /tmp/krb5cc_0
* */7 * * * root kinit -k host/pzosdgstdeb1$ -c /tmp/krb5cc_0
@reboot postfix kinit -k -t /var/spool/postfix/etc/krb5.keytab -c /var/spool/postfix/tmp/krb5cc_107
* */7 * * * postfix kinit -k -t /var/spool/postfix/etc/krb5.keytab -c /var/spool/postfix/tmp/krb5cc_107
A continuación se ejecuta el script: /home/user/test.pl cada 5 minutos*/5 * * * * /home/user/test.pl
.---------------- minuto (0 - 59) | .------------- hora (0 - 23) | | .---------- día del mes (1 - 31) | | | .------- mes (1 - 12) O jan,feb,mar,apr ... (los meses en inglés) | | | | .---- día de la semana (0 - 6) (Domingo=0 o 8) O sun,mon,tue,wed,thu,fri,sat (los días en inglés) | | | | | * * * * * comando para ser ejecutado
Ejemplo: Evitar que Amule se cierre solo
1) Creamos el archivo amule.cron (touch /home/adrian/amule.cron) y colocamos en el:
#!/bin/sh /sbin/pidof amule >/dev/null if [ $? != 0 ] then exec /usr/bin/amule fi
2) Luego lo hacemos ejecutable:
chmod +x /home/adrian/amule.cron
3) Editamos nuestro crontab (crontab -e) y colocamos en el:
*/1 * * * * export DISPLAY=:0 && /home/adrian/amule.cron
Anacron -> Programa que permite ejecutar tareas cada n días en el sistema. Diferencias con respecto a cron:
- Anacron es un programa (no un demonio), por lo que hay que ejecutarlo periódicamente (con cron).
- Se garantiza que una tarea que no se haya ejecutado en su debido momento se ejecute al iniciar anacron.
- Anacron sólo permite gestionar tareas como usuario root.
- Anacron guarda en la carpeta /var/spool/anacron un archivo por cada tarea indicando su última ejecución.
- Archivo de tareas /etc/anacrontab:
# Rutas si no se especifican, se toman las del usuario actual.
SHELL=[<RutaAlShellQueEjecutaLosComandos>]
PATH=<RutasDeCarpetasDondeSeBuscaranLosComandosEjecutados>
#Tareas anacron (cada una en una línea)
#Sintaxis: NN MM TID Comando1[;Comando2]...[;ComandoN]
#NN: Ejecución de tarea cada NN días
#MM: Minutos para que anacron ejecute la tarea (anacron sólo deberá ejecutar una tarea a la vez)
#TID: Nombre/Identificador único para cada tarea (No deben de haber dos o más tareas con el mismo TID).
No hay comentarios:
Publicar un comentario