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
|