You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.7 KiB
Bash
58 lines
1.7 KiB
Bash
2 years ago
|
#!/bin/sh
|
||
|
|
||
|
### BEGIN INIT INFO
|
||
|
# Provides: hwclock
|
||
|
# Required-Start:
|
||
|
# Required-Stop: mountdevsubfs
|
||
|
# Should-Stop: umountfs
|
||
|
# Default-Start: S
|
||
|
# Default-Stop: 0 6
|
||
|
# Short-Description: Save system clock to hardware on shutdown.
|
||
|
### END INIT INFO
|
||
|
|
||
|
# Note: this init script and related code is only useful if you
|
||
|
# run a sysvinit system, without NTP synchronization.
|
||
|
|
||
|
if [ -e /run/systemd/system ] ; then
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
unset TZ
|
||
|
|
||
|
hwclocksh()
|
||
|
{
|
||
|
HCTOSYS_DEVICE=rtc0
|
||
|
[ ! -x /sbin/hwclock ] && return 0
|
||
|
[ ! -r /etc/default/rcS ] || . /etc/default/rcS
|
||
|
[ ! -r /etc/default/hwclock ] || . /etc/default/hwclock
|
||
|
|
||
|
. /lib/lsb/init-functions
|
||
|
verbose_log_action_msg() { [ "$VERBOSE" = no ] || log_action_msg "$@"; }
|
||
|
|
||
|
case "$1" in
|
||
|
start)
|
||
|
# start is handled by /usr/lib/udev/rules.d/85-hwclock.rules.
|
||
|
return 0
|
||
|
;;
|
||
|
stop|restart|reload|force-reload)
|
||
|
# Updates the Hardware Clock with the System Clock time.
|
||
|
# This will *override* any changes made to the Hardware Clock,
|
||
|
# for example by the Linux kernel when NTP is in use.
|
||
|
log_action_msg "Saving the system clock to /dev/$HCTOSYS_DEVICE"
|
||
|
if /sbin/hwclock --rtc=/dev/$HCTOSYS_DEVICE --systohc; then
|
||
|
verbose_log_action_msg "Hardware Clock updated to `date`"
|
||
|
fi
|
||
|
;;
|
||
|
show)
|
||
|
/sbin/hwclock --rtc=/dev/$HCTOSYS_DEVICE --show
|
||
|
;;
|
||
|
*)
|
||
|
log_success_msg "Usage: hwclock.sh {stop|reload|force-reload|show}"
|
||
|
log_success_msg " stop and reload set hardware (RTC) clock from kernel (system) clock"
|
||
|
return 1
|
||
|
;;
|
||
|
esac
|
||
|
}
|
||
|
|
||
|
hwclocksh "$@"
|