Come configurare l'arresto automatico in Proxmox con 4 metodi semplici?

La chiusura automatica aiuta gli utenti Proxmox a risparmiare energia e proteggere i dati quando i server sono inutilizzati o durante interruzioni di corrente. Questa guida ti mostra quattro semplici metodi per configurarla passo dopo passo.

download-icon
Download Gratuito
per VM, OS, DB, File, NAS, ecc.
sofia

Updated by Sofia on 2025/07/21

Indice dei contenuti
  • Cos'è lo spegnimento automatico di Proxmox?

  • Metodo 1. Utilizzare Cron per lo spegnimento programmato

  • Metodo2. Cron + script per il rilevamento dell'inattività

  • Metodo3. systemd timer + script

  • Metodo4. Integrazione UPS + NUT

  • Protezione delle macchine virtuali dopo l'arresto automatico con Vinchin

  • Proxmox spegnimento automatico FAQ

  • Conclusione

L'attivazione dello spegnimento automatico in Proxmox ti permette di spegnere automaticamente l'host o le sue VM e i container senza intervento manuale. Puoi attivarlo tramite programmazione, stato di inattività o eventi dell'UPS. Questo permette di risparmiare energia, proteggere i dati e ridurre gli errori umani.

Cos'è lo spegnimento automatico di Proxmox?

Lo spegnimento automatico di Proxmox ti permette di eseguire automaticamente le operazioni di arresto. Puoi gestirlo utilizzando cron, systemd o gli strumenti UPS. Non si tratta soltanto di un semplice comando di spegnimento Linux — Proxmox utilizza qm pct per chiudere correttamente VM e contenitori. Installando qemu-guest-agentProxmox può persino notificare al sistema operativo guest di effettuare un arresto pulito.

Se il server rimane inattivo durante la notte o desideri spegnerlo dopo il backup, la funzione di spegnimento automatico è ideale. Riduce il consumo energetico, definisce finestre di manutenzione chiare ed evita errori. 

Metodo 1. Utilizzare Cron per lo spegnimento programmato

Cron è il metodo più semplice. Non controlla le attività in esecuzione, ma è facile da usare e affidabile.

Ad esempio, spegnimento quotidiano alle ore 1:00:

0 1 * * * root /usr/sbin/shutdown -h now

Test prima:

shutdown -h +5 "Test: arresto tra 5 minuti"
grep shutdown /var/log/syslog

Le macchine virtuali ricevono il segnale ACPI e tentano un arresto controllato (se supportato). Tuttavia Cron non verificherà la presenza di attività in corso, quindi i processi attivi potrebbero essere interrotti.

Metodo2. Cron + script per il rilevamento dell'inattività

Uno script può verificare l'attività prima dello spegnimento, riducendo il rischio di interrompere VM o processi in esecuzione.

Script di esempio /root/shut.sh:

#!/bin/bash

ACTIVE_VMS=$(qm list | grep -cv stopped)
ACTIVE_PCT=$(pct list | grep -cv stopped)
ACTIVE_TASKS=$(pgrep -f "pvesr|zfs scrub|vzdump")

if [[ $ACTIVE_VMS -eq 0 && $ACTIVE_PCT -eq 0 && -z "$ACTIVE_TASKS" ]]; then
  echo "$(date): System idle. Preparing to shut down." >> /var/log/auto-shut.log
  shutdown -h +30 "Idle state: system will shut down in 30 minutes"
fi

Rendilo eseguibile e aggiungilo a Cron:

chmod +x /root/shut.sh
*/5 * * * * root /root/shut.sh

Controlla ogni 5 minuti. Se non è in esecuzione nulla, programma l'arresto con un ritardo di 30 minuti.

Metodo3. systemd timer + script

Per un controllo maggiore e log migliori, utilizza systemd in produzione.

Script: /usr/local/bin/autoshutdown

#!/bin/bash

ACTIVE_VMS=$(qm list | grep -cv stopped)
ACTIVE_PCT=$(pct list | grep -cv stopped)
ACTIVE_TASKS=$(pgrep -f "pvesr|zfs scrub|vzdump")

if [[ $ACTIVE_VMS -eq 0 && $ACTIVE_PCT -eq 0 && -z "$ACTIVE_TASKS" ]]; then
  echo "$(date): Confermato inattivo. Arresto imminente." >> /var/log/autoshutdown.log
  shutdown -h +10 "Stato di inattività: arresto tra 10 minuti"
fi

Servizio Systemd /etc/systemd/system/autoshutdown.service:

[Unit]
Description=Servizio di spegnimento automatico Proxmox

[Service]
Type=oneshot
ExecStartPre=/bin/sleep 300
ExecStart=/usr/local/bin/autoshutdown

Timer systemd  /etc/systemd/system/autoshutdown.timer:

[Unit]
Description=Timer di spegnimento automatico Proxmox

[Timer]
OnCalendar=*-*-* 23:00:00
Persistent=true

[Install]
WantedBy=timers.target

Attivalo:

systemctl daemon-reload
systemctl enable --now autoshutdown.timer

Nota: Type=oneshot impedisce l'esecuzione simultanea. Il comando sleep 300 aggiunge un intervallo di 5 minuti.

Metodo4. Integrazione UPS + NUT

La protezione contro i blackout è fondamentale per l'ambiente aziendale. NUT e UPS aiutano a spegnere in modo intelligente il sistema.

Installa NUT:

apt install nut

Configurare /etc/nut/nut.conf:

MODE=netserver

Quindi modificare /etc/nut/ups.conf /etc/nut/upsmon.conf, ad esempio:

MONITOR ups@localhost 1 monuser password slave
SHUTDOWNCMD "systemctl poweroff"

Monitora UPS:

upsc ups@localhost

Simula interruzione di corrente:

upsmon -c fsd

Arrestare le macchine virtuali prima dell'host:

qm shutdown <ID> --timeout 60
pct shutdown <ID> --timeout 60

Assicurati che qemu-guest-agent sia installato sulle macchine virtuali per garantire una loro corretta risposta.

Protezione delle macchine virtuali dopo l'arresto automatico con Vinchin

Una volta attivato l'arresto automatico, il passo successivo è assicurarsi che i dati delle macchine virtuali rimangano al sicuro.

Per proteggere con sicurezza il tuo ambiente Proxmox, valuta in considerazione Vinchin Backup & Recovery—una soluzione professionale per il backup delle macchine virtuali, di livello aziendale, che supporta Proxmox VE e oltre 15 piattaforme come VMware, Hyper-V, oVirt, RHV, XCP-ng, XenServer e OpenStack.

Vinchin offre potenti funzionalità come backup incrementale perpetuo, deduplica e compressione integrate, migrazione V2V e opzioni di rapido recupero. Queste caratteristiche aiutano a ridurre la dimensione del backup, accelerare le operazioni e semplificare il ripristino in caso di disastro.

La console web intuitiva ti permette di eseguire il backup di una macchina virtuale Proxmox in soli quattro passaggi:

1.Seleziona semplicemente le VM sull'host

backup macchina virtuale proxmox

2.Quindi selezionare la destinazione del backup 

backup macchina virtuale proxmox

3. Seleziona strategie

backup macchina virtuale proxmox

4.Infine invia il lavoro

backup macchina virtuale ProxMox

Vinchin è affidato dagli utenti globali e conosciuto per la sua affidabilità. Inizia oggi con un periodo di prova gratuito di 60 giorni con tutte le funzioni—clicca qui sotto per scaricare e distribuire in pochi minuti.

Proxmox spegnimento automatico FAQ

D1: Come faccio a risolvere i problemi del timer o dello script?

Controllare lo stato di systemctl e journalctl -u autoshutdown.service.

Q2: Cosa fare se lo spegnimento si blocca?
Utilizzare journalctl per verificare quale servizio si è bloccato.

Q3: Posso controllare l'ordine di arresto delle macchine virtuali?
Sì—arresta le macchine virtuali per priorità utilizzando qm shutdown in sequenza.

Conclusione

L'arresto automatico di Proxmox aiuta a risparmiare energia, proteggere i dati e ridurre i rischi. È possibile attivarlo tramite pianificazione, controllo dell'inattività o UPS. Scegli il metodo più adatto al tuo caso e mantieni il sistema intelligente, sicuro ed efficiente.


Condividi su:

Categories: VM Tips