D'accord, j'ai pris un peu de temps pour comprendre comment faire cela sur Ubuntu Natty, et voici comment j'ai réussi à le faire fonctionner. Il y a peut-être une manière plus élégante, mais cette façon fonctionne.
Tout d’abord, nous devons intégrer l’exécutable cron dans un shell définissant la variable TZ. Voici comment:
cd /usr/sbin
mv cron cron.real
Ensuite, créez un nouveau fichier / usr / sbin / cron. J'ai utilisé vim, mais vous pouvez utiliser l'éditeur de votre choix, il suffit de donner au fichier l'apparence suivante:
#!/bin/bash
export TZ=UTC
/usr/sbin/cron.real
Rendre le nouveau fichier cron exécutable:
chmod ugo+rx cron
Maintenant, redémarrez le démon cron:
service cron restart
Vos tâches cron seront maintenant exécutées selon une planification basée sur l'heure UTC - CEPENDANT, même si l'heure de leur exécution est l'heure UTC, leur fuseau horaire est défini sur celui défini pour le système. Pour changer cela, mettez ceci dans votre crontab avant toute commande:
TZ=UTC
Donc, votre crontab ressemblera à quelque chose comme ça:
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
TZ=UTC
00 19 * * * date > /tmp/date.log
sudo service cron restart
post-édition?