Como configurar o desligamento automático no Proxmox com 4 métodos simples?

O desligamento automático ajuda os usuários do Proxmox a economizar energia e proteger dados quando os servidores estão ociosos ou durante quedas de energia. Este guia mostra quatro maneiras simples de configurá-lo passo a passo.

download-icon
Download Grátis
para VM, SO, BD, Arquivo, NAS, etc.
joao

Updated by João on 2025/07/21

Tabela de conteúdos
  • O que é o desligamento automático do Proxmox?

  • Método 1. Usar o Cron para desligamento programado

  • Método2. Cron + script para detecção de inatividade

  • Método3. systemd timer + script

  • Método4. Integração UPS + NUT

  • Protegendo VMs após desligamento automático com Vinchin

  • Perguntas frequentes sobre desligamento automático do Proxmox

  • Conclusão

Ativar o desligamento automático no Proxmox permite desligar o host ou suas máquinas virtuais e contêineres automaticamente, sem intervenção manual. Você pode acioná-lo por meio de programação, status ocioso ou eventos de nobreak (UPS). Isso economiza energia, protege os dados e reduz erros humanos.

O que é o desligamento automático do Proxmox?

O desligamento automático do Proxmox permite executar tarefas de desligamento automaticamente. Você pode gerenciá-lo usando cron, systemd ou ferramentas de UPS. Não é apenas um desligamento básico do Linux — o Proxmox usa qm pct para desligar corretamente as máquinas virtuais e os contêineres. Com o qemu-guest-agent instalado, Proxmox pode até notificar o sistema operacional convidado para desligamentos limpos.

Se o seu servidor fica ocioso à noite ou você deseja desligá-lo após o backup, o desligamento automático é ideal. Ele reduz o consumo de energia, define janelas claras de manutenção e evita erros. 

Método 1. Usar o Cron para desligamento programado

O Cron é o método mais simples. Ele não verifica as tarefas em execução, mas é fácil de usar e confiável.

Por exemplo, desligar todos os dias às 1:00 da manhã:

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

Teste primeiro:

shutdown -h +5 "Teste: desligamento em 5 minutos"
grep shutdown /var/log/syslog

As VMs recebem o sinal ACPI e tentam um desligamento gracioso (se suportado). Mas o Cron não verificará tarefas em andamento — então trabalhos ativos podem ser interrompidos.

Método2. Cron + script para detecção de inatividade

Um script pode verificar a atividade antes do desligamento, reduzindo o risco de interromper VMs ou trabalhos em execução.

Script de exemplo /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

Torná-lo executável e adicionar ao Cron:

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

Isso verifica a cada 5 minutos. Se nada estiver em execução, agenda o desligamento com um atraso de 30 minutos.

Método3. systemd timer + script

Para mais controle e melhores logs, use systemd em produção.

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): Confirmed idle. Shutting down soon." >> /var/log/autoshutdown.log
  shutdown -h +10 "Idle state: shutting down in 10 minutes"
fi

Serviço Systemd  /etc/systemd/system/autoshutdown.service:

[Unit]
Description=Serviço de Desligamento Automático Proxmox

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

Temporizador Systemd /etc/systemd/system/autoshutdown.timer:

[Unit]
Description=Temporizador de Desligamento Automático Proxmox

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

[Install]
WantedBy=timers.target

Ative-o:

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

Nota: Type=oneshot impede a execução simultânea. O sleep 300 adiciona um intervalo de 5 minutos.

Método4. Integração UPS + NUT

A proteção contra quedas de energia é essencial em ambientes empresariais. O NUT e o UPS ajudam a desligar o seu sistema de forma inteligente.

Instalar NUT:

apt install nut

Configure /etc/nut/nut.conf:

MODE=netserver

Depois edite /etc/nut/ups.conf /etc/nut/upsmon.conf, por exemplo:

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

Monitor UPS:

upsc ups@localhost

Simular perda de energia:

upsmon -c fsd

Desligar VMs antes do host:

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

Certifique-se de que o qemu-guest-agent esteja instalado nas máquinas virtuais para garantir que elas respondam.

Protegendo VMs após desligamento automático com Vinchin

Assim que o desligamento automático estiver funcionando, o próximo passo é garantir que os dados da sua máquina virtual permaneçam seguros.

Para proteger seu ambiente Proxmox com segurança, considere Vinchin Backup & Recovery—uma solução profissional e de nível empresarial para backup de máquinas virtuais, compatível com Proxmox VE e mais de 15 plataformas, como VMware, Hyper-V, oVirt, RHV, XCP-ng, XenServer e OpenStack.

Vinchin oferece recursos poderosos, como backup incremental contínuo, deduplicação e compactação integradas, migração V2V e opções rápidas de recuperação. Isso ajuda a reduzir o tamanho do backup, acelerar tarefas e simplificar a recuperação de desastres.

O console web amigável permite fazer backup de uma VM Proxmox em apenas quatro etapas:

1. Basta selecionar as máquinas virtuais no host

backup proxmox vm

2. Em seguida, selecione o destino do backup 

backup proxmox vm

3.Selecionar estratégias

backup proxmox vm

4.Finalmente envie o trabalho

backup proxmox vm

Vinchin é confiável para usuários globais e reconhecido por sua confiabilidade. Comece hoje com um teste gratuito de 60 dias com todas as funcionalidades—clique abaixo para baixar e implantar em minutos.

Perguntas frequentes sobre desligamento automático do Proxmox

P1: Como resolver problemas no temporizador ou script?

Verifique o status do systemctl e o journalctl -u autoshutdown.service.

Q2: O que fazer se o desligamento travar?
Use o journalctl para verificar qual serviço travou.

P3: Posso controlar a ordem de desligamento das VMs?
Sim—desligue as VMs por prioridade usando qm shutdown em sequência.

Conclusão

O desligamento automático do Proxmox ajuda a economizar energia, proteger dados e reduzir riscos. Você pode acioná-lo por meio de agendamento, verificação de ociosidade ou nobreak (UPS). Escolha o método adequado para o seu caso e mantenha seu sistema inteligente, seguro e eficiente.


Compartilhar em:

Categories: VM Tips