¿Quiere ejecutar un comando o un script diariamente, semanalmente, mensualmente o en otro horario determinado? Es fácil hacer esto en Ubuntu a través de un trabajo cron.
Cron es un programador de trabajos basado en el tiempo para ejecutar comandos o secuencias de comandos periódicamente en horas, fechas o intervalos fijos. Por lo general, se usa para el mantenimiento o la administración del sistema, aunque puede ser útil para fines generales, por ejemplo, para descargar archivos de Internet a intervalos regulares.
1. Editar archivos crontab:
Los usuarios pueden configurar un trabajo cron fácilmente configurando el archivo crontab mediante el comando crontab. Está preinstalado en los sistemas basados en Ubuntu. Y cada usuario tiene su propio archivo de configuración crontab.
b.) Programar tarea para el usuario actual:
Para ejecutar un comando o script por parte del usuario actual, simplemente abra la terminal desde el iniciador de aplicaciones del sistema y ejecute el comando:
crontab -e
Por primera vez, le pedirá que seleccione un editor para editar el archivo de configuración. Elija uno que prefiera o presione Entrar para usar el editor de texto nano predeterminado.
b.) Si necesita privilegios de root o sudo:
Para comandos o secuencias de comandos que necesitan sudo o privilegios de usuario raíz, puede ejecutar el siguiente comando en su lugar:
sudo crontab -e
Creará (si no sale) o abrirá el archivo de configuración para el usuario root.
c.) Especifique un usuario para ejecutar la tarea programada:
Puede agregar -u <user_name>
bandera para especificar el usuario, ji por ejemplo.
sudo crontab -u ji -e
El usuario puede ser root, por lo que hará lo mismo con sudo crontab -e
:
sudo crontab -u root -e
2. Establezca un intervalo de tiempo, comando o secuencia de comandos para que se ejecute periódicamente:
Después de ejecutar un comando en el paso 1, abre el archivo de configuración en la ventana del terminal (o consola de comandos).
Ahora desplácese hacia abajo y agregue una nueva línea:
* * * * * <command or script>
Los primeros 5 asteriscos "*" especifican la hora y la fecha, cámbielos según corresponda.
Ejemplos:
a.) Por ejemplo, para ejecutar un script python3 en mi carpeta Documentos a la medianoche (00:00) todos los domingos, use:
0 0 * * 0 python3 /home/ji/Documents/script.py
Aquí:
- el primer 0 especifica el minuto, use * para cada minuto.
- el segundo 0 especifica la hora, use * para cada hora.
- la tercera bandera * especifica el día del mes, todos los días si no se especifica el día de la semana.
- la cuarta bandera * dice cada mes.
- la quinta bandera (el tercer 0) especifica el día de la semana. De 0 a 6 significa de domingo a sábado.
b.) Ejecute echo "hello world!"
comando todos los días a las 16:30, agregue esta línea:
30 16 * * * echo "hello world!"
c.) Puedes usar */n
para ejecutar cada n-ésimo intervalo de tiempo. Y use múltiples intervalos de tiempo específicos con comas.
Por ejemplo, ejecute el comando todos los viernes a la primera, segunda, tercera hora cada 5 minutos (01:00, 01:05, 01:10,..., 02:00, 02:05, 02:10,..., 03:55).
*/5 1,2,3 * * 5 echo "hello world!"
Finalmente, guarde el archivo de configuración. Si se edita a través de nano, presione Ctrl+X en el teclado, escriba y y presione Entrar para guardarlo.
Artículo Original