-
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 e 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 e /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
2. Em seguida, selecione o destino do backup
3.Selecionar estratégias
4.Finalmente envie o trabalho
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: