Underc0de

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: TerminusRoot en Noviembre 06, 2019, 06:25:31 PM

Título: A brief introduction to Linux | Part XIII: Programación de trabajo
Publicado por: TerminusRoot en Noviembre 06, 2019, 06:25:31 PM
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 File

La 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 at

Para 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. Crontab

El 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