add bundle:systemd-timers
This commit is contained in:
parent
2a3a26c333
commit
0599c4dae0
7 changed files with 145 additions and 0 deletions
24
bundles/systemd-timers/files/check_systemd_timer
Normal file
24
bundles/systemd-timers/files/check_systemd_timer
Normal file
|
@ -0,0 +1,24 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [[ -z "$1" ]]
|
||||
then
|
||||
echo "Usage: $0 <timer>"
|
||||
exit 3
|
||||
fi
|
||||
|
||||
if ! [[ -f "/var/lib/systemd-timer-monitored/$1" ]]
|
||||
then
|
||||
echo "No status file found"
|
||||
exit 3
|
||||
fi
|
||||
|
||||
exitcode="$(cat "/var/lib/systemd-timer-monitored/$1")"
|
||||
|
||||
echo "Last timer run exited $exitcode"
|
||||
|
||||
if [[ $exitcode -ne 0 ]]
|
||||
then
|
||||
exit 2
|
||||
else
|
||||
exit 0
|
||||
fi
|
10
bundles/systemd-timers/files/systemd-timer-monitored
Normal file
10
bundles/systemd-timers/files/systemd-timer-monitored
Normal file
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
timer="$1"
|
||||
shift
|
||||
|
||||
# Simple wrapper script that stores the exit code of a command into a file
|
||||
"$@"
|
||||
exitcode=$?
|
||||
|
||||
echo "$exitcode" > "/var/lib/systemd-timer-monitored/$timer"
|
15
bundles/systemd-timers/files/template.service
Normal file
15
bundles/systemd-timers/files/template.service
Normal file
|
@ -0,0 +1,15 @@
|
|||
[Unit]
|
||||
Description=Service for Timer ${timer}
|
||||
After=network.target
|
||||
% if config.get('requires', ''):
|
||||
Requires=${config['requires']}
|
||||
% endif
|
||||
|
||||
[Service]
|
||||
User=${config.get('user', 'root')}
|
||||
Group=${config.get('group', config.get('user', 'root'))}
|
||||
% for k, v in sorted(config.get('environment', {}).items()):
|
||||
Environment=${k}=${v}
|
||||
% endfor
|
||||
WorkingDirectory=${config.get('pwd', '/')}
|
||||
ExecStart=/usr/local/sbin/systemd-timer-monitored ${timer} ${config['command']}
|
13
bundles/systemd-timers/files/template.timer
Normal file
13
bundles/systemd-timers/files/template.timer
Normal file
|
@ -0,0 +1,13 @@
|
|||
[Unit]
|
||||
Description=Timer for Service ${timer}
|
||||
|
||||
[Timer]
|
||||
OnCalendar=${config['when']}
|
||||
% if config.get('persistent', True):
|
||||
Persistent=true
|
||||
% else:
|
||||
Persistent=false
|
||||
% endif
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
Loading…
Add table
Add a link
Reference in a new issue