• Passa al contenuto principale
  • Skip to header right navigation
  • Skip to site footer
Fabbri Enrico

Fabbri Enrico

Appunti, idee, qualsiasi cosa possa servire

  • IT
    • MacOS
    • Windows
    • Synology
    • Networking
    • Storage
    • Web
    • VMWare
  • Contatti

Spegnere un Mac dal NAS Synology collegato all’UPS (DSM 7)

Articolo aggiornato a ottobre 2026: procedura rivista per DSM 7.2. Aggiunta la soluzione con il client NUT per macOS.

Un UPS collegato via USB al NAS Synology protegge il NAS, ma spesso sulla stessa batteria ci sono anche altri dispositivi: nel mio caso un Mac. Quando la corrente salta, il Synology si spegne in modo ordinato, mentre il Mac resta acceso finché la batteria non si esaurisce e poi si spegne di colpo.

Synology integra un server NUT (Network UPS Tools): altri NAS Synology e i server Linux possono collegarsi come client e spegnersi in automatico. Quando ho scritto la prima versione di questo articolo su macOS non esisteva un client comodo, e avevo risolto con uno script via SSH. Oggi c’è una soluzione più pulita, quindi la metto per prima.

Lato Synology: attivare il server UPS di rete

  1. In DSM andate in Pannello di controllo → Hardware e alimentazione → UPS.
  2. Attivate il supporto UPS e l’opzione Abilita server UPS di rete.
  3. In Dispositivi DS consentiti aggiungete l’indirizzo IP del Mac (meglio assegnargli un IP fisso o una prenotazione DHCP).

Il server NUT del Synology espone l’UPS con nome ups, utente monuser e password secret. Sono valori fissi e documentati, quindi l’unica vera protezione è la lista degli IP consentiti: non aggiungete subnet intere.

Metodo 1 (consigliato): client NUT su macOS

NUT è disponibile tramite Homebrew:

brew install nut

Verificate che il Mac legga lo stato dell’UPS dal NAS (sostituite l’IP con quello del vostro Synology):

upsc [email protected]

Se vedete l’elenco delle variabili (battery.charge, ups.status e così via), la comunicazione funziona. Ora configurate il monitor nel file upsmon.conf, che trovate in $(brew --prefix)/etc/nut/:

MONITOR [email protected] 1 monuser secret secondary
SHUTDOWNCMD "/sbin/shutdown -h +0"
POWERDOWNFLAG /var/run/killpower

Con le versioni di NUT precedenti alla 2.8 al posto di secondary si scrive slave. Il monitor deve girare come root, perché deve poter spegnere il Mac. Per avviarlo automaticamente all’accensione create un LaunchDaemon in /Library/LaunchDaemons/org.networkupstools.upsmon.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key><string>org.networkupstools.upsmon</string>
  <key>ProgramArguments</key>
  <array>
    <string>/opt/homebrew/sbin/upsmon</string>
    <string>-D</string>
  </array>
  <key>RunAtLoad</key><true/>
  <key>KeepAlive</key><true/>
</dict>
</plist>
sudo launchctl bootstrap system /Library/LaunchDaemons/org.networkupstools.upsmon.plist

Il percorso /opt/homebrew vale per i Mac con Apple Silicon; sui Mac Intel è /usr/local. Da questo momento, quando il Synology segnala batteria scarica, il Mac si spegne da solo, prima del NAS.

Metodo 2: spegnimento via SSH

Se non volete installare nulla sul Mac, resta valida la soluzione originale, con qualche accorgimento di sicurezza in più.

  1. Sul Mac attivate Impostazioni di Sistema → Generali → Condivisione → Login remoto, limitato al vostro utente.
  2. Sul NAS generate una chiave dedicata: sudo ssh-keygen -t ed25519 -f /volume1/scripts/id_mac -N "" e copiate la parte .pub in ~/.ssh/authorized_keys del Mac.
  3. Sul Mac permettete al vostro utente di lanciare solo il comando di spegnimento senza password, con sudo visudo -f /etc/sudoers.d/ups-shutdown e la riga qui sotto.
  4. Sul NAS create in Pianificazione attività uno script, eseguito come root ogni minuto, che controlla lo stato dell’UPS e spegne il Mac quando si passa a batteria.
nomeutente ALL=(root) NOPASSWD: /sbin/shutdown
#!/bin/bash
STATUS=$(upsc ups@localhost ups.status 2>/dev/null)
if echo "$STATUS" | grep -q "OB"; then
  ssh -i /volume1/scripts/id_mac -o ConnectTimeout=5 [email protected] "sudo /sbin/shutdown -h +1"
fi

Rispetto alla prima versione la differenza importante è il punto 3: niente più NOPASSWD generico per il gruppo admin, ma un permesso limitato al solo shutdown. Se quella chiave dovesse finire nelle mani sbagliate, l’unica cosa che si potrebbe fare è spegnere il Mac.

Se il problema persiste

Se upsc risponde “Access denied”, l’IP del Mac non è nella lista dei dispositivi consentiti sul Synology. Se il Mac non si spegne durante il test, provate a lanciare a mano sudo upsmon -c fsd sul Mac: simula un evento di batteria scarica e vi dice subito se la catena funziona (attenzione, il Mac si spegne davvero).

Domande o configurazioni diverse? Lasciate un commento.

Info Enrico

Enrico Fabbri, classe 1989, appassionato da sempre da tutto ciò che circonda il mondo della tecnologia.
Se una cosa funziona, sento la necessità di scoprire come e perché.

Post precedente:Tipologie di RAID: quale scegliere per server e NAS
Post successivo:Cambiare scheda madre o hardware su Windows 10 e 11 senza reinstallare

Interazioni del lettore

Commenti

  1. Gianluca

    21 Giugno 2016 alle 17:58

    Ciao ! Ottima guida. Io vorrei sapere quali gruppi di continuità sono compatibili con il NAS Synology 216play. Stavo vedendo qualche APC ma non saprei quale modello prendere.

    Rispondi
  2. Enrico

    22 Giugno 2016 alle 10:18

    Ciao Gianluca, grazie!
    In rete ho trovato questa pagina che mostra la compatibilità tra Synology e i modelli di UPS:
    https://www.synology.com/it-it/compatibility?search_by=category&category=upses&p=1&not_recommend_mode=false

    Io, personalmente, l’ho collegato ad un Eaton 9130

    Rispondi
  3. paraffina

    1 Agosto 2016 alle 17:22

    Ciao, complimenti per la soluzione, visto che ho un NAS Sinologi e volevo utilizzare un unico UPS per mac e NAS.
    Volevo chiederti alcune precisazioni però:
    1) nell script per il NAS ( ssh -t -T User@IP-Mac ‘sudo shutdown -h now’) l’User deve essere l’amministratore del Mac o l’amministratore del NAS?
    29 la chiave non me la mostra; mi chiede dove copiarla. L’ho copiata su text edit ed appare una stringa veramente lunga; è corretto?
    3) qui mi sono persa .
    nano /etc/sudoers
    e decommentiamo (eliminiamo il #) la riga

    # %wheel ALL=(ALL) NOPASSWD: ALL

    se riesco a venirne a capo ti dedico un monumento! ;-))

    Rispondi
  4. Enrico

    1 Agosto 2016 alle 18:03

    1) L’utente da inserire è l’amministratore del MAC
    2) La chiave viene generata con il comando “ssh-keygen -t rsa”, per vederla – e quindi copiarla – devi fare “cat .ssh/id_rsa.pub”; ti confermo che è una stringa piuttosto lunga.
    3) Qui banalmente, è necessario ottenere i permessi di root su MAC con “sudo -i” e poi editare /etc/sudoers decommentando la riga “# %wheel ALL=(ALL) NOPASSWD: ALL” che diventerà ” %wheel ALL=(ALL) NOPASSWD: ALL”

    Spero possa essere tutto più chiaro, se ci sono altri problemi, non esitare a scrivere!
    Grazie

    Rispondi
  5. Enrico

    1 Agosto 2016 alle 19:25

    1) L’utente da inserire è l’amministratore del MAC

    2) La chiave viene generata con il comando “ssh-keygen -t rsa”, per vederla – e quindi copiarla – devi fare “cat .ssh/id_rsa.pub”; ti confermo che è una stringa piuttosto lunga.

    3) Qui banalmente, è necessario ottenere i permessi di root su MAC con “sudo -i” e poi editare /etc/sudoers decommentando la riga “# %wheel ALL=(ALL) NOPASSWD: ALL” che diventerà ” %wheel ALL=(ALL) NOPASSWD: ALL”

    Spero possa essere tutto più chiaro, se ci sono altri problemi, non esitare a scrivere!

    Grazie

    Rispondi
  6. Tracee

    3 Ottobre 2026 alle 16:09

    Hey,

    Restore any site from Web Archives (Wayback Machine).

    Restore (any time interval like from 1999 March to 2026 September):
    – Your website’s full content: pages, css, html, and images
    – Your lost pages
    – Expired domains
    – PBN content

    Cheapest yet the fastest and most reliable solution.

    200 pages restore costs 12 cents.

    – Restore your sites now: https://brnd.li/restore

    * WordPress restore option (included)

    Best,
    Tracee Farleigh

    If at any point you wish to stop getting further notifications from me, feel free to fill the form at brnd .li/delist URL with your domain address (URL).
    Via Nizza 97, Oneida, CA, USA, 92222

    Rispondi

Lascia un commento Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *