ein Cron in einer anderen TZ
Sie können versuchen, die Variable CRON_TZ
anstelle von festzulegen TZ
. Diese Optionen scheinen distro-spezifisch zu sein. Ich habe in den folgenden Manpages nach Fedora und Ubuntu man 5 crontab
gesucht (und danach gesucht TZ
).
Fedora hat es so, CRON_TZ=IST
während Ubuntu es so ausdrückt:
Der Cron-Daemon wird mit einer definierten Zeitzone ausgeführt. Derzeit werden keine Zeitzonen pro Benutzer unterstützt. Alle Aufgaben: Systeme und Benutzer werden basierend auf der konfigurierten Zeitzone ausgeführt. Selbst wenn ein Benutzer die TZ-Umgebungsvariable in seiner Crontab angibt, wirkt sich dies nur auf die in der Crontab ausgeführten Befehle aus, nicht auf die Ausführung der Crontab-Aufgaben selbst.
Fedoras Manpage sagt es so:
Die Variable CRON_TZ gibt die Zeitzone an, die für die Cron-Tabelle spezifisch ist. Der Benutzer sollte eine Zeit gemäß der angegebenen Zeitzone in die Tabelle eingeben. Die zum Schreiben in eine Protokolldatei verwendete Zeit wird der lokalen Zeitzone entnommen, in der der Dämon ausgeführt wird.
Angesichts der Tatsache, dass Sie unter Ubuntu arbeiten, erwarte ich nicht, dass dies funktioniert, aber es könnte sein. Ich habe Ubuntu 12.10 überprüft.
Versuchen Sie so etwas:
#m h d m wday command
CRON_TZ=IST
5 0,6,12,18 * * * /path/to/script.bash
Alle Cron in einer anderen TZ
Wenn Sie jedoch alle Ihre Cron in einer anderen Zeitzone ausführen möchten, können Sie die dramatischere Taktik anwenden, TZ
um den Cron-Daemon selbst zu ändern . So etwas im Stop / Start-Skript:
# /etc/init.d/crond
...
...
# Source function library.
. /etc/rc.d/init.d/functions
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
export TZ=IST
start() {
if [ $UID -ne 0 ] ; then
echo "User has insufficient privilege."
exit 4
fi
[ -x $exec ] || exit 5
[ -f $config ] || exit 6
echo -n $"Starting $prog: "
daemon $prog $CRONDARGS
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
}
...
...
Dies ist Code aus meinem Fedora Crond Stop / Start-Skript, aber eine ähnliche Änderung könnte an Ihrem Ubuntu Stop / Start-Skript für Crond vorgenommen werden.