OK, saya mengambil waktu dan mencari cara untuk melakukan ini di Ubuntu Natty, dan inilah cara saya membuatnya bekerja. Mungkin ada cara yang lebih elegan, tetapi cara ini berhasil.
Pertama, kita perlu membungkus cron yang dapat dieksekusi dalam sebuah shell yang menetapkan variabel TZ. Begini caranya:
cd /usr/sbin
mv cron cron.real
Kemudian, buat file / usr / sbin / cron baru. Saya menggunakan vim, tetapi Anda dapat menggunakan editor yang Anda inginkan, cukup buat file seperti ini:
#!/bin/bash
export TZ=UTC
/usr/sbin/cron.real
Jadikan file cron baru dapat dieksekusi:
chmod ugo+rx cron
Sekarang, restart daemon cron:
service cron restart
Pekerjaan cron Anda sekarang akan berjalan pada jadwal berbasis UTC - NAMUN, meskipun waktu mereka dieksekusi akan UTC, ketika mereka menjalankan mereka akan memiliki zona waktu yang ditetapkan untuk apa pun yang ditentukan untuk sistem. Untuk mengubahnya, letakkan ini di crontab Anda sebelum perintah apa pun:
TZ=UTC
Jadi crontab Anda akan terlihat seperti ini:
# 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
setelah mengedit?