Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previaPróxima revisiónAmbos lados, revisión siguiente |
es:howtos:general_admin:task_scheduling [2019/02/10 08:55 (UTC)] – [Using at] pedro.herrero | es:howtos:general_admin:task_scheduling [2019/02/10 09:36 (UTC)] – [Using anacron] pedro.herrero |
---|
| |
| |
Algunos dæmons de programación de tareas utilizados en Linux/UNIX lo son: | Algunos dæmons de programación de tareas utilizados en Linux/UNIX son: |
* ''[[howtos:software:at|at]]'' -- programar tareas puntuales para el futuro | * ''[[howtos:software:at|at]]'' -- programar tareas puntuales para el futuro |
* ''[[howtos:software:cron|cron]]'' -- el programador periódico más utilizado | * ''[[howtos:software:cron|cron]]'' -- el programador periódico más utilizado |
</code> | </code> |
| |
=====Interactive at===== | =====at interactivo===== |
Using the command **//at//** with standard input (keyboard) is a little more complicated than typing one line in at the prompt. The command uses an internal "sub-shell" to gather the required information. Once the command information entry is complete, <key>Ctrl-D</key> (EOT) will signify entry completion. The **//-m//** flag specifies a mail message will be sent to the user when the job is finished, regardless if any output was created. | Usar el comando **//at//** con entrada estándar (teclado) es un poco más complicado que escribir una línea en el prompt. El comando utiliza una "sub-shell" interna para recopilar la información requerida. Una vez que se haya completado la entrada de la información del comando, <key>Ctrl-D</key> (EOT) significará que se ha completado la entrada. El indicador **//-m//** especifica que se enviará un mensaje de correo al usuario cuando finalice el trabajo, independientemente de si se ha creado alguna salida. |
| |
<code> | <code> |
</code> | </code> |
| |
=====File-driven at===== | =====at dirigido por archivos===== |
Commands can also be contained within a file and run by **//at//**: | Los comandos también pueden estar contenidos dentro de un archivo y ser ejecutados por **//at//**: |
<code> | <code> |
darkstar:~% at 12:32 -m -f /usr/local/bin/my_script.sh | darkstar:~% at 12:32 -m -f /usr/local/bin/my_script.sh |
job 8 at 2015-06-22 12:10 | job 8 at 2015-06-22 12:10 |
</code> | </code> |
The **-m** flag will email the user after completion of the command; the **-f** flag specifies the command will read the job from a file, not from standard input. After the command is typed in (and the appropriate warning is displayed), the **//at//** job number((As distinct from a process ID (PID) known to the operating system)) is displayed. | El indicador **-m** enviará un correo electrónico al usuario después de completar el comando; el indicador **-f** especifica que el comando leerá el trabajo desde un archivo, no desde una entrada estándar. Después de escribir el comando (y se muestre la advertencia correspondiente), se muestra el número de trabajo **//at//** ((A diferencia de un ID de proceso (PID) conocido por el sistema operativo)). |
| |
=====at Internal Scheduling===== | =====Programación interna de at===== |
The job numbers provided after a command is typed in, or when a file is read, allow the user to know which internal job will be run in sequential order. If a user wants to delete a specific task, all that needs to be known is this internal job number. To remove the job, the command **//atrm//** (**__at__ __r__e__m__ove**) is used: | Los números de trabajo proporcionados después de escribir un comando, o cuando se lee un archivo, permiten al usuario saber qué trabajo interno se ejecutará en orden secuencial. Si un usuario desea borrar una tarea específica, todo lo que necesita saber es el número de trabajo interno. Para eliminar el trabajo, se utiliza el comando **//atrm//** (**__at__ __r__e__m__ove**): |
| |
<code> | <code> |
</code> | </code> |
| |
The command **//atq//** (**__at__ __q__ueue**) is the same as **//at -l//**: | El comando **//atq//** (**__at__ __q__ueue**) es el mismo que **//at -l//**: |
| |
<code> | <code> |
</code> | </code> |
| |
To remove the user job, use **//atrm//** with the job number: | Para quitar el trabajo del usuario, utilice **//atrm//** con el número de trabajo: |
<code> | <code> |
darkstar:~% atrm 7 | darkstar:~% atrm 7 |
</code> | </code> |
| |
=====Using cron===== | =====Uso de cron===== |
| |
**//cron//** is a daemon that runs tasks in the background at specific times. For example, if you want to automate downloads of patches on a specific day (Monday), date (2 July), or time (1300), **//cron//** will allow you to set this up in a variety of ways. The flexibility inherent in **//cron//** can allow administrators and power users to automate repetitive tasks, such as creating backups and system maintenance. | **//cron//** es un demonio que ejecuta tareas en segundo plano en momentos específicos. Por ejemplo, si desea automatizar las descargas de parches en un día específico (lunes), fecha (2 de julio) u hora (1300), **//cron//** le permitirá configurar esto de varias maneras. La flexibilidad inherente en **//cron//** puede permitir a los administradores y usuarios avanzados automatizar tareas repetitivas, como la creación de copias de seguridad y el mantenimiento del sistema. |
| |
**//cron//** is usually configured using a //crontab// file. The following command will open your user account //crontab// file: | **//cron//** se configura normalmente utilizando un archivo //crontab//. El siguiente comando abrirá el archivo //crontab// de su cuenta de usuario: |
| |
<code> | <code> |
</code> | </code> |
| |
To edit the system-level //crontab//, first log into the root account: | Para editar el nivel de sistema //crontab//, primero inicie sesión en la cuenta root: |
| |
<code> | <code> |
</code> | </code> |
| |
If your system has **//sudo//** installed, type in: | Si su sistema tiene **//sudo//** instalado, ingrese: |
| |
<code> | <code> |
</code> | </code> |
| |
The //crontab// file syntax is: | La sintaxis del archivo //crontab// es: |
| |
<code> | <code> |
# * * * * * command to execute | # * * * * * Comando a ejecutar |
# │ │ │ │ │ | # │ │ │ │ │ |
# │ │ │ │ │ | # │ │ │ │ │ |
# │ │ │ │ └───── day of week (0 - 6) (Sun(0) /Mon (1)/Tue (2)/Wed (3)/Thu (4)/Fri (5)/Sat (6)) | # │ │ │ │ └───── día de la semana (0 - 6) (Dom(0) /Lun (1)/Mar (2)/Mie (3)/Jue (4)/Vie (5)/Sab (6)) |
# │ │ │ └────────── month (1 - 12) | # │ │ │ └────────── mes (1 - 12) |
# │ │ └─────────────── day of month (1 - 31) | # │ │ └─────────────── día del mes (1 - 31) |
# │ └──────────────────── hour (0 - 23) | # │ └──────────────────── hora (0 - 23) |
# └───────────────────────── min (0 - 59) | # └───────────────────────── minuto (0 - 59) |
</code> | </code> |
| |
Using an asterisk in any placeholder location, will match any value. For example, the following will run //example_script.sh// at noon (1200) everyday during the first three months of the year: | Usando un asterisco en cualquier ubicación de marcador de posición, coincidirá con cualquier valor. Por ejemplo, lo siguiente se ejecutará //example_script.sh// al mediodía (1200) todos los días durante los primeros tres meses del año: |
| |
<code> | <code> |
</code> | </code> |
| |
=====Using anacron===== | =====Uso de anacron===== |
<note> | <note> |
**//anacron//** is not installed in Slackware by default.((See [[http://slackbuilds.org/repository/13.37/system/anacron/|Slackbuilds.org]] for more information on **//anacron//** on Slackware)) | **//anacron//** no se inastala en Slackware de manera predeterminada.((Ver [[http://slackbuilds.org/repository/13.37/system/anacron/|Slackbuilds.org]] para más información de **//anacron//** en Slackware)) |
</note> | </note> |
| |