64 lines
1.3 KiB
Bash
64 lines
1.3 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
# Source functions file
|
||
|
# shellcheck source=./functions.sh
|
||
|
source /usr/share/scripts/autosysadmin/functions.sh
|
||
|
|
||
|
init_autosysadmin
|
||
|
load_conf
|
||
|
|
||
|
# Comment this line to enable
|
||
|
repair_template=off
|
||
|
test "${repair_template:=off}" = off && log_error_exit 'Script disabled, nothing to do here!'
|
||
|
|
||
|
# Has it recently been run?
|
||
|
is_too_soon
|
||
|
|
||
|
lockfile="/run/lock/repair_template"
|
||
|
cleanup() {
|
||
|
rm -f "${lockfile}"
|
||
|
}
|
||
|
trap 'cleanup' 0
|
||
|
acquire_lock_or_exit "${lockfile}"
|
||
|
|
||
|
ensure_no_active_users_or_exit
|
||
|
|
||
|
log_system_status
|
||
|
|
||
|
# Functions dedicated to this repair script
|
||
|
|
||
|
template_is_enabled() {
|
||
|
systemd_list_units_enabled "template.service"
|
||
|
|
||
|
}
|
||
|
|
||
|
template_restart() {
|
||
|
if ! timeout 60 systemctl restart template.service > /dev/null
|
||
|
then
|
||
|
log_error_exit 'failed to restart template'
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
template_test_process_present() {
|
||
|
pgrep -u template > /dev/null
|
||
|
}
|
||
|
|
||
|
|
||
|
# Main logic
|
||
|
|
||
|
if template_is_enabled
|
||
|
then
|
||
|
if ! template_test_process_present
|
||
|
then
|
||
|
log_action "Redémarrage de template"
|
||
|
template_restart
|
||
|
hook_mail success
|
||
|
else
|
||
|
log_error_exit "template process alive. Aborting"
|
||
|
fi
|
||
|
else
|
||
|
log_error_exit "template is not enabled. Aborting"
|
||
|
fi
|
||
|
|
||
|
AUTOSYSADMIN=1 /usr/share/scripts/evomaintenance.sh -m "$0: done" --no-commit --no-mail
|