System - Planlæg daglige genstarter
Source: Download script
Last Updated: 11. September 2025 by Agnete Moos (agms@sonderborg.dk)
Parameters:
Navn | Type | Standardværdi | Påkrævet |
---|---|---|---|
Click to see the source code
#! /usr/bin/env bash
set -x
ACTIVATE=$1
TIMES=$2
ROOTCRON_TMP="/tmp/oldcron"
USERCRON="/etc/os2borgerpc/usercron"
USER_CLEANUP="/usr/share/os2borgerpc/bin/user-cleanup.bash"
if grep "LANG=" /etc/default/locale | grep "sv"; then
MESSAGE="Den här datorn kommer att starta om efter fem minuter"
elif grep "LANG=" /etc/default/locale | grep "da"; then
MESSAGE="Denne computer genstarter om fem minutter"
else
MESSAGE="This computer will reboot in five minutes"
fi
crontab -l > $ROOTCRON_TMP
sed --in-place "/reboot/d" $ROOTCRON_TMP
if ! get_os2borgerpc_config os2_product | grep --quiet kiosk; then
touch $USERCRON
chmod 700 $USERCRON
sed --in-place "/starta om/d ; /genstarter/d ; /reboot/d" $USERCRON
fi
if [ "$ACTIVATE" = "True" ]; then
IFS=", " read -ra TIMES_ARRAY <<< "$TIMES"
for TIME in "${TIMES_ARRAY[@]}"; do
IFS=":" read -ra HOUR_MIN <<< "$TIME"
HOURS=${HOUR_MIN[0]}
MINUTES=${HOUR_MIN[1]}
echo "$MINUTES $HOURS * * * /usr/sbin/reboot" >> $ROOTCRON_TMP
if ! get_os2borgerpc_config os2_product | grep --quiet kiosk; then
MINM5P60=$(( $(( MINUTES - 5)) + 60))
# Rounding minutes
MINS=$(( MINM5P60 % 60))
HRCORR=$(( 1 - $(( MINM5P60 / 60))))
HRS=$(( HOURS - HRCORR))
HRS=$(( $(( HRS + 24)) % 24))
echo "$MINS $HRS * * * XDG_RUNTIME_DIR=/run/user/\$(id -u) /usr/bin/notify-send \"$MESSAGE\"" >> $USERCRON
fi
done
fi
crontab $ROOTCRON_TMP
rm --force $ROOTCRON_TMP
if ! get_os2borgerpc_config os2_product | grep --quiet kiosk; then
crontab -u user $USERCRON
if ! grep --quiet "crontab" $USER_CLEANUP; then
echo "crontab -u user $USERCRON" >> $USER_CLEANUP
fi
fi
Beskrivelse
Dette script indstiller en OS2borgerPC eller OS2borgerPC Kiosk til at genstarte dagligt på nogle valgte tidspunkter.
BEMÆRK: Scriptet bruger maskinens interne ur til at afgøre, hvornår der skal genstartes. Hvis maskinens ur går forkert, vil der også blive genstartet på de forkerte tidspunkter.
På en almindelig OS2borgerPC vil der blive vist en advarsel, 5 minutter før maskinen genstarter. Kiosk-maskiner understøtter ikke at vise disse advarsler, da de ikke har et almindeligt UI.
Scriptet tager to parametre:
Aktiver? - Sæt hak i tjekboksen for at indstille maskinen til at genstarte på de valgte tidspunkter. Lad tjekboksen stå tom for at fjerne alle planlagte genstartstidspunkter.
Tidspunkter - De komma-separerede tidspunkter, hvor maskinen skal genstarte. Formatet skal være “12:30, 14:00, 17:34” eller “12:30,14:00,17:34” (begge uden citationstegn) Der kan vælges et vilkårligt antal tidspunkter. Værdien af denne parameter har kun betydning, hvis der sættes hak i Aktiver?-afkrydsningsfeltet.