47
47
set -x
48
48
49
49
WAKE_PLAN_FILE=/etc/os2borgerpc/plan.json
50
+ SCHEDULED_OFF_SCRIPT=" /usr/local/lib/os2borgerpc/scheduled_off.sh"
50
51
51
52
if [ -f $WAKE_PLAN_FILE ]; then
52
53
echo " Dette script kan ikke anvendes på en PC, der er tilknyttet en tænd/sluk tidsplan."
@@ -65,6 +66,7 @@ if [ "$1" == "--off" ]; then
65
66
66
67
if [ -f $TCRON ]; then
67
68
sed -i -e " /\/rtcwake/d" $TCRON
69
+ sed -i " /scheduled_off/d" $TCRON
68
70
crontab $TCRON
69
71
fi
70
72
@@ -73,9 +75,23 @@ if [ "$1" == "--off" ]; then
73
75
crontab -u user $USERCRON
74
76
fi
75
77
78
+ rm --force $SCHEDULED_OFF_SCRIPT
79
+
76
80
else
77
81
78
82
if [ $# -gt 2 ]; then
83
+ cat << EOF > $SCHEDULED_OFF_SCRIPT
84
+ #!/usr/bin/env bash
85
+
86
+ MODE=\$ 1
87
+ DURATION=\$ 2
88
+
89
+ pkill -KILL -u user
90
+ pkill -KILL -u superuser
91
+ /usr/sbin/rtcwake --mode \$ MODE --seconds \$ DURATION
92
+ EOF
93
+
94
+ chmod 700 $SCHEDULED_OFF_SCRIPT
79
95
HOURS=$1
80
96
MINUTES=$2
81
97
SECONDS_TO_WAKEUP=$(( 3600 * $3 ))
@@ -86,12 +102,13 @@ else
86
102
# We still remove shutdown lines, if any
87
103
if [ -f $TCRON ]; then
88
104
sed -i -e " /\/rtcwake/d" $TCRON
105
+ sed -i " /scheduled_off/d" $TCRON
89
106
fi
90
107
if [ -f $USERCRON ]; then
91
108
sed -i -e " /lukker/d" $USERCRON
92
109
fi
93
110
# Assume the parameters are already validated as integers.
94
- echo " $MINUTES $HOURS * * * /usr/sbin/rtcwake --mode $MODE --seconds $SECONDS_TO_WAKEUP " >> $TCRON
111
+ echo " $MINUTES $HOURS * * * $SCHEDULED_OFF_SCRIPT $MODE $SECONDS_TO_WAKEUP " >> $TCRON
95
112
crontab $TCRON
96
113
97
114
MINM5P60=$(( $(( MINUTES - 5 )) + 60))
0 commit comments