Hola, esta es la Decimoterceraparte de A brief introduction to Linux.
Puede recapitular los otros post aqui abajito.
Parte I : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-i/
Parte II : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-ii/
Parte III : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-iii/
Parte IV : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-iv-editor-vi
Parte V : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-v-rutas-y-tipo-de-archivos/
Parte VI : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-vi-operaciones-de-archivos-y-directorios/
Parte VII : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-vi-atributos/
Parte VIII: https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-viii-permisos/
Parte IX : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-iv-permisos-especiales
Parte X : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-x-bash-shell/
Parte XI : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-xi-expresiones-regulares-y-metacaracteres
Parte XII : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-xii-procesos/
Programación de trabajo[Job Scheduling]
I. Scheduler Log FileLa programación de trabajos, que permite ejecutar un comando o programa en un momento específico, es manejada por dos daemons: atd y crond.Practicaremos el uso de ambos.
La información relacionada con las actividades de programación de trabajos (que incluyen tanto atd como crond) se puede encontrar en el archivo /var/log/cron. Veamos este archivo con cat:
cat /var/log/cron
(https://i.ibb.co/WkgG0QK/13-01.png)
II. Comando atPara ejecutar un programa una vez en el futuro, podemos usar at.
Ingrese el siguiente comando para comenzar a programar un trabajo para que se ejecute dentro de 5 minutos:
at now + 5 minutes
Luego, ingrese lo siguiente en el indicador at>:
ls / etc > /tmp/list.out
Enumeramos el contenido del directorio /etc y enviamos los resultados al archivo ** /tmp/list.out**.
Presione Ctrl + D cuando haya terminado. Tenga en cuenta el valor de ID de trabajo, lo utilizaremos en uno de los siguientes pasos.
(https://i.ibb.co/DtnTK88/13-02.png)
Ejecute el siguiente comando para ver el archivo de trabajo creado en el directorio /var/spool/at:
sudo ls -l /var/spool/at
(https://i.ibb.co/3sdnc20/13.png)
Podemos leer este archivo con cat o usar el comando at con el valor de ID de trabajo:
en -c <ID de trabajo>
(https://i.ibb.co/gFFyBJ0/13-4.png)
La opción -l del comando at o atq se puede usar para mostrar la lista de trabajos en cola. Ejecute cualquiera de los comandos a continuación.
at -l
atq
(https://i.ibb.co/s5Yp8sh/13-5.png)
Asegúrese de que hayan transcurrido 5 minutos . Nuestro trabajo programado ahora debe hacerse y el archivo debe estar en el directorio
/tmp. Ejecute el siguiente comando para verificar:
cat /tmp/list.out
(https://i.ibb.co/C6WLNDD/13-6.png)
III. CrontabEl comando crontab ofrece una programación de trabajos más avanzada al permitir ejecutar programas y comandos de forma regular. Para verificar que los archivos cron y crontable estén instalados en su sistema, ejecute el siguiente comando:
yum list installed | grep cron
(https://i.ibb.co/SnMSTFM/13-7.png)
Programemos un trabajo en cron para nuestro usuario administrador. Comience abriendo el crontable con el siguiente comando:
crontab -e
En el editor que se abre, presione ** i ** para comenzar a insertar valores e ingrese la siguiente programación
*/15 6 */5 */2 1-5 ps -U admin > /home/admin/ps.out
Estamos programando el comando de administración ps -U para ejecutar y generar resultados en el archivo /home/admin/ps.out cada 15 minutos después de la hora, a las 6 a.m., cada 5 días, incluso meses, de lunes a viernes.
Presione Esc para finalizar la edición, luego ingrese:wq! para guardar y cerrar el archivo.
(https://i.ibb.co/BPnfxN5/13-9.png)
Ahora se debe crear un nuevo archivo de trabajo cron en /var/spool/cron/admin.Para verificar:
sudo ls -l /var/spool/cron/admin
(https://i.ibb.co/L8NL1H4/13-10.png)
Podemos enumerar el contenido del crontable para el usuario actual ejecutando el siguiente comando.
crontab -l
(https://i.ibb.co/L5Cy2MX/13-11.png)
Ahora eliminaremos el crontable el cual eliminara todos los trabajos programados para el usuario. Ejecute el siguiente comando para hacer eso:
crontab -r
Liste el contenido de crontab nuevamente para verificar:
crontab -l
(https://i.ibb.co/Hr6yJhp/13-12.png)
E.O.F