Proszę zobaczyć mój następny post dla rozwiązania specyficznego dla Ubuntu
Wiem, że to forum Ubuntu, ale wierzę, że odpowiedź będzie bardzo podobna do tego, jak zrobiłbyś to w systemie Red Hat. Nie mam pod ręką systemu Ubuntu do testowania tego, ale przetestowałem go na Red Hat.
Wszystko, co musisz zrobić, to dodać wiersz do skryptu inicjującego demona cron. Ustaw i wyeksportuj zmienną środowiskową TZ, w następujący sposób:
export TZ=UTC
Następnie uruchom ponownie demona cron. Upewnij się, że umieściłeś ten eksport w skrypcie startowym demona cron PO jakichkolwiek innych ustawieniach zmiennych i źródłach - myślę, że to może być przyczyną, dla której edytowanie /etc/default/cron
skryptu przez pierwotnego plakatu nie zadziałało. Może to ustawił, ale potem został zresetowany przez coś jeszcze w dalszej części skryptu.
Zauważ, że wpłynie to tylko na samego demona cron, a nie na zadania uruchamiane przez cron, więc jeśli chcesz, aby zadanie cron używało UTC jako swojej strefy czasowej, musisz również ustawić je w samym zadaniu.
Prawdopodobnie nie możesz skopiować tego dosłownie i sprawić, by działało na polu Ubuntu, ale oto skrypt inicjujący, którego użyłem do przetestowania tego na Red Hat. Eksport znajdziesz tuż przed start()
funkcją:
#!/bin/sh
#
# crond Start/Stop the cron clock daemon.
#
# chkconfig: 2345 90 60
# description: cron is a standard UNIX program that runs user-specified \
# programs at periodic scheduled times. vixie cron adds a \
# number of features to the basic UNIX cron, including better \
# security and more powerful configuration options.
### BEGIN INIT INFO
# Provides: crond crontab
# Required-Start: $local_fs $syslog
# Required-Stop: $local_fs $syslog
# Default-Start: 2345
# Default-Stop: 90
# Short-Description: run cron daemon
# Description: cron is a standard UNIX program that runs user-specified
# programs at periodic scheduled times. vixie cron adds a
# number of features to the basic UNIX cron, including better
# security and more powerful configuration options.
### END INIT INFO
[ -f /etc/sysconfig/crond ] || {
[ "$1" = "status" ] && exit 4 || exit 6
}
RETVAL=0
prog="crond"
exec=/usr/sbin/crond
lockfile=/var/lock/subsys/crond
config=/etc/sysconfig/crond
# Source function library.
. /etc/rc.d/init.d/functions
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
export TZ=UTC
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
}
stop() {
if [ $UID -ne 0 ] ; then
echo "User has insufficient privilege."
exit 4
fi
echo -n $"Stopping $prog: "
if [ -n "`pidfileofproc $exec`" ]; then
killproc $exec
RETVAL=3
else
failure $"Stopping $prog"
fi
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
}
restart() {
stop
start
}
reload() {
echo -n $"Reloading $prog: "
if [ -n "`pidfileofproc $exec`" ]; then
killproc $exec -HUP
else
failure $"Reloading $prog"
fi
retval=$?
echo
}
force_reload() {
# new configuration takes effect after restart
restart
}
rh_status() {
# run checks to determine if the service is running or use generic status
status -p /var/run/crond.pid $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
exit $?
sudo service cron restart
po edycji?