Programar una tarea en Linux desde línea de comandos

2015-04-08 - Categorías: GNU/Linux

Es bien sencillo. Abrimos un terminal si estamos en una estación de trabajo, o nos conectamos al servidor si es así. Entonces ya tenemos acceso.

En Ubuntu funciona de ésta manera, no creo que varíe mucho de una distribución de Linux a otra.

Ejecutamos:

$ crontab -e

Entonces veremos unas explicaciones en inglés donde detallan todo. Tendremos que poner una línea nueva para cada tarea. Por ejemplo nos puede quedar algo tal que así:

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use ‘*’ in these fields (for ‘any’).#
# Notice that tasks will be started based on the cron’s system
# daemon’s notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
0 4 * * sun /home/ubuntu/duplicity.backup.sh

Aquí puedes ver todas las explicaciones, y al final una simple linea que es mi tarea. Se ejecuta en el minuto 0 a la hora 4, para todos los días del mes, para todos los meses, sólo los domingos. Esto mismo en inglés lo explica en los comentarios en inglés.

Es importante saber que si ejecutamos ‘crontab -e’ como usuario entonces editamos las tareas del usuario que tengamos. Podemos hacer lo mismo para el superusuario. Si nos interesara ejecutaríamos ‘sudo crontab -e’.

Los comandos se ejecutan desde el directorio del usuario. Ten cuidado con ésto porque si lees o escribes ficheros ten en cuenta de usar rutas absolutas o rutas relativas desde el directorio de trabajo del usuario que ejecutará la tarea. Sino no funcionará.

Como curiosidad, Duplicity es una gran herramienta para hacer copias de seguridad incrementales, cifradas, comprimidas y otras tantas características que tiene, todo desde línea de comandos. Ubuntu en su sistema de copias de seguridad, usa Duplicity por debajo. Si quieres échale un vistazo que merece la pena 😉

Espero que sirva.
Saludos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

© 2020 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.