crontab

¿Cómo puedo configurar la zona horaria para Crontabs??

¿Cómo puedo configurar la zona horaria para Crontabs??
Crontab, una forma abreviada de Mesa de cron, es un comando y un archivo de texto en sistemas UNIX / Linux que se utiliza para determinar la programación de trabajos de Cron. ¿Qué es un trabajo Cron?? Un trabajo Cron, también conocido simplemente como Cron, es un programador basado en el tiempo que ejecuta tareas en sistemas Linux en momentos específicos. Se ejecuta con la ayuda del demonio crond. Los trabajos de Cron son extremadamente útiles para automatizar los scripts de Shell y otros comandos que deben ejecutarse a intervalos regulares, lo que de otra manera sería tedioso cuando se realiza manualmente.

Por lo general, los trabajos de Cron se ejecutan utilizando la hora local definida en el sistema. Sin embargo, es posible que prefiera ejecutar el trabajo de Cron en una zona horaria diferente sin cambiar necesariamente la hora y la fecha de su servidor.

Puede verificar su hora local usando el comando timedatectl de la siguiente manera:

$ timedatectl

También puede usar el comando de fecha de la siguiente manera:

$ fecha

Entonces, ¿cómo puede establecer una zona horaria diferente para sus Crontabs? Vamos a averiguar.

Cómo configurar la zona horaria para Crontabs

En su sistema Linux local, las zonas horarias generalmente se especifican en el / usr / share / zoneinfo directorio. El directorio contiene una lista de continentes y países y sus zonas horarias, como se muestra a continuación.

$ ls / usr / share / zoneinfo /

Puede ajustar fácilmente la zona horaria actual a una diferente usando la sintaxis que se muestra. Por ejemplo, para configurar el sistema a la hora de Tokio, Japón, simplemente ejecute:

$ sudo ln -sf / usr / share / zoneinfo / Asia / Tokio / etc / localtime

Sin embargo, no puede cambiar la hora de su sistema, especialmente cuando varios usuarios programan diferentes trabajos de Cron. Esto afectaría el tiempo que se ejecutarán sus trabajos Cron.

Afortunadamente, puede configurar una zona horaria específica para su trabajo de Cron de la siguiente manera:

Primero, debe exportar la variable TZ en su script de Shell antes que cualquier otra entrada de Shell. A continuación, acceda a su crontab y use la variable de entorno crontab CRON_TZ al comienzo del archivo crontab.

Suponga que quiero configurar el trabajo Cron para ejecutar un script de respaldo a las 2:20 pm todos los días en Europa / Londres hora y no mi hora local. Mi hora local es 2 horas antes de la hora de Londres, por lo que a las 2:20 pm en Londres, mi hora local será 4:20 pm o 1420 HRS.

Primero, diríjase al archivo de secuencia de comandos de Shell y exporte la variable TZ antes que cualquier otra entrada de secuencia de comandos. Mira lo que hice en mi script de Shell.

EXPORTAR TZ = Europa / Londres

Guarde los cambios y salga del script.

A continuación, acceda a su archivo crontab ejecutando el comando:

$ crontab -e

Asegúrese de definir la variable crontab CRON_TZ antes de todas las demás entradas de Cron de la siguiente manera.

CRON_TZ = Europa / Londres
20 14 * * * / inicio / james / respaldo.sh

Guarde y salga de crontab. Para estar seguro de la configuración, puede listar el crontab usando el comando:

$ crontab -l

Entonces, cuando el reloj marcó las 2:20 pm hora de Londres, que corresponde a las 4:40 pm hora local o 1620 HRS, la copia de seguridad se realizó correctamente.

Conclusión

Esta guía es una demostración perfecta de que realmente puede establecer una zona horaria específica para sus Crontabs sin cambiar la hora del sistema. De esta manera, puede configurar diferentes tareas para que se ejecuten en diferentes zonas horarias según sus necesidades, por ejemplo, si desea enviar correos electrónicos a suscriptores de una determinada zona horaria en su horario y no en su hora local.

Cómo desarrollar un juego en Linux
Hace una década, no muchos usuarios de Linux predecían que su sistema operativo favorito algún día sería una plataforma de juegos popular para videoju...
Puertos de código abierto de motores de juegos comerciales
Las recreaciones gratuitas, de código abierto y de motores de juegos multiplataforma se pueden usar para jugar títulos de juegos antiguos y también al...
Los mejores juegos de línea de comandos para Linux
La línea de comandos no es solo su mayor aliado cuando usa Linux, también puede ser la fuente de entretenimiento porque puede usarla para jugar muchos...