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.
/etc/crontab
.Es sollte keine Rolle spielen, aber versuchen Sie, die Zeichenfolge "IST" in Anführungszeichen zu setzen.
In
cron.conf
oder/etc/default/cron
:Versuchen Sie auch, anstelle des Kurznamens den Langnamen zu verwenden:
Oder legen Sie dies in Ihre,
~/.profile
wenn Sie Crontabs machenNachdem Sie Änderungen an der Konfigurationsdatei dieses Dämons vorgenommen haben, müssen Sie ihn neu starten:
quelle
cron.conf
in Ubuntu sieht aus wie eine systemd-Datei. Sind Sie sicher, dass wir sie hinzufügenexport
können? Ich möchte `CRONDARGS =" - s -m off "` setzen, um Mail (und Log) zu vermeiden, kann aber in Ubuntu nicht finden, wie das geht./etc/default/cron
es sich um ein veraltetes Hinzufügen handeltCRONDARGS="-s -m off"
, funktioniert das Hinzufügen (vorerst), da es aus Quellen stammt/etc/init.d/cron
./etc/init/cron.conf
ist eine systemd-Konfigurationsdatei undexport
kann dort funktionieren oder nicht, aber ich konnte nicht finden, ob dies der Fall ist.CRONDARGS