2020-06-22 09:39:37 +02:00
#!/bin/sh
set -e
#DEBHELPER#
2021-10-28 15:00:58 +02:00
update_sync_job() {
job="$1"
echo "Updating sync job '$job' to make old 'remove-vanished' default explicit.."
proxmox-backup-manager sync-job update "$job" --remove-vanished true \
|| echo "Failed, please check sync.cfg manually!"
}
2020-06-22 09:39:37 +02:00
case "$1" in
configure)
2021-03-10 15:22:50 +01:00
# need to have user backup in the tape group
2021-01-30 11:48:49 +01:00
usermod -a -G tape backup
2020-06-22 09:39:37 +02:00
# modeled after dh_systemd_start output
systemctl --system daemon-reload >/dev/null || true
if [ -n "$2" ]; then
2021-03-11 08:17:21 +01:00
if dpkg --compare-versions "$2" 'lt' '1.0.7-1'; then
# there was an issue with reloading and systemd being confused in older daemon versions
# so restart instead of reload if upgrading from there, see commit 0ec79339f7aebf9
# FIXME: remove with PBS 2.1
2021-03-11 13:39:27 +01:00
echo "Upgrading from older proxmox-backup-server: restart (not reload) daemons"
2021-03-11 08:17:21 +01:00
_dh_action=try-restart
else
_dh_action=try-reload-or-restart
fi
2020-06-22 09:39:37 +02:00
else
_dh_action=start
fi
2020-06-22 10:44:26 +02:00
deb-systemd-invoke $_dh_action proxmox-backup.service proxmox-backup-proxy.service >/dev/null || true
2020-08-18 18:41:30 +02:00
2020-10-29 19:58:41 +01:00
if test -n "$2"; then
2021-03-11 10:07:23 +01:00
# FIXME: Remove in future version once we're sure no broken entries remain in anyone's files
if grep -q -e ':termproxy::[^@]\+: ' /var/log/proxmox-backup/tasks/active; then
echo "Fixing up termproxy user id in task log..."
flock -w 30 /var/log/proxmox-backup/tasks/active.lock sed -i 's/:termproxy::\([^@]\+\): /:termproxy::\1@pam: /' /var/log/proxmox-backup/tasks/active || true
fi
2021-10-28 15:00:58 +02:00
2022-05-30 13:36:59 +02:00
if dpkg --compare-versions "$2" 'lt' '2.2.2~'; then
echo "moving prune schedule from datacenter config to new prune job config"
proxmox-backup-manager update-to-prune-jobs-config \
|| echo "Failed to move prune jobs, please check manually"
true
fi
2022-11-28 17:03:39 +01:00
if dpkg --compare-versions "$2" 'lt' '2.3.1~'; then
lock_user="$(stat --format '%U' /etc/proxmox-backup/.datastore.lck)"
if [ "${lock_user}" != "backup" ]; then
echo "updating /etc/proxmox-backup/.datastore.lck from wrong user '${lock_user}' to 'backup'"
chown backup:backup /etc/proxmox-backup/.datastore.lck \
|| printf "Failed to fix datastore.lck user, please retry manually with:\n\n\t%s\n\n" \
"chown backup:backup /etc/proxmox-backup/.datastore.lck"
fi
fi
2022-05-30 13:36:03 +02:00
if dpkg --compare-versions "$2" 'lt' '2.1.3~' && test -e /etc/proxmox-backup/sync.cfg; then
2021-10-28 15:00:58 +02:00
prev_job=""
# read from HERE doc because POSIX sh limitations
while read -r key value; do
if test "$key" = "sync:"; then
if test -n "$prev_job"; then
# previous job doesn't have an explicit value
update_sync_job "$prev_job"
fi
prev_job=$value
else
prev_job=""
fi
done <<EOF
$(grep -e '^sync:' -e 'remove-vanished' /etc/proxmox-backup/sync.cfg)
EOF
if test -n "$prev_job"; then
# last job doesn't have an explicit value
update_sync_job "$prev_job"
fi
fi
2020-08-18 18:41:30 +02:00
fi
2020-06-22 09:39:37 +02:00
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
exit 0