]> git.proxmox.com Git - pve-manager.git/commitdiff
pveupdate: replace cron job with systemd timer
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 12 Mar 2018 13:14:05 +0000 (14:14 +0100)
committerFabian Grünbichler <f.gruenbichler@proxmox.com>
Mon, 12 Mar 2018 14:14:13 +0000 (15:14 +0100)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
bin/init.d/Makefile
bin/init.d/pve-daily-update.service [new file with mode: 0644]
bin/init.d/pve-daily-update.timer [new file with mode: 0644]
debian/postinst

index 45180244a9687691b074fb228bb87c9a79f483dd..f0fc7f9ca6b91acf86b0998b3f91217153e63bff 100644 (file)
@@ -11,6 +11,8 @@ SERVICES=                     \
        pveproxy.service        \
        spiceproxy.service      \
        pve-storage.target      \
+       pve-daily-update.service\
+       pve-daily-update.timer  \
        pvesr.service           \
        pvesr.timer
 
diff --git a/bin/init.d/pve-daily-update.service b/bin/init.d/pve-daily-update.service
new file mode 100644 (file)
index 0000000..f174241
--- /dev/null
@@ -0,0 +1,9 @@
+[Unit]
+Description=Daily PVE download activities
+After=network-online.target
+Wants=network-online.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/pveupdate
+
diff --git a/bin/init.d/pve-daily-update.timer b/bin/init.d/pve-daily-update.timer
new file mode 100644 (file)
index 0000000..bf8d0b5
--- /dev/null
@@ -0,0 +1,10 @@
+[Unit]
+Description=Daily PVE download activities
+
+[Timer]
+OnCalendar=*-*-* 2:00
+RandomizedDelaySec=4h
+Persistent=true
+
+[Install]
+WantedBy=timers.target
index 9b91d584d7c22983216be306dea9f5b1c9edaceb..62ea89033a0fed92a80a4c120935585f682f1d31 100755 (executable)
@@ -32,26 +32,15 @@ case "$1" in
 
     mkdir /etc/pve 2>/dev/null || true
 
-    # remove old cron.daily update job to randomize it
-    if test -e /etc/cron.daily/pve; then
-       echo "Remove old update script from cron.daily"
-       rm /etc/cron.daily/pve
-    fi
-
     if dpkg --compare-versions "$2" '<=' '5.1-47'; then
+       # remove cron update job, superseded by systemd timer
+       rm -f /etc/cron.d/pveupdate
+
        # remove old/unused init.d files
        OLD_INITD_FILES="pvebanner pvenetcommit pve-manager pvedaemon pveproxy pvestatd spiceproxy"
        for f in ${OLD_INITD_FILES}; do rm -f "/etc/init.d/$f"; done
     fi
 
-    # create new daily randomize update cronjob if not exist
-    MIN="$(shuf -i 0-59 -n 1)"
-    HOUR="$(shuf -i 2-5 -n 1)"
-    cat <<EOF >/etc/cron.d/pveupdate
-# automatically generated - do not edit
-${MIN} ${HOUR} * * * root /usr/bin/pveupdate
-EOF
-
     if test ! -e /var/lib/pve-manager/apl-info/download.proxmox.com; then
        mkdir -p /var/lib/pve-manager/apl-info
        cp /usr/share/doc/pve-manager/aplinfo.dat /var/lib/pve-manager/apl-info/download.proxmox.com