Agent user scripting con Site Manager – Come gestire i backup pianificati con gli script lato Agente

Traduzione a cura di Naonis dell’articolo apparso nel sito del produttore al seguente link:

https://blog.macrium.com/how-to-manage-scheduled-backups-with-site-manager-agent-user-scripting-e2eeaa8385

Se utilizzate Macrium Site Manager, una delle attività principali è il controllo delle azioni degli Agenti Macrium. Dato l’enorme aumento dei dipendenti che lavorano da casa a seguito delle attuali misure per limitare la diffusione del Coronavirus questa attività è ora ancor più importante di sempre. Molti amministratori IT in questo periodo sono alle prese con il problema di come ridurre il carico del traffico sulle VPN aziendali per rendere il lavoro da remoto il più possibile semplice e indolore.

Una prima soluzione sarebbe chiedere all’amministratore di Macrium Site Manager di disabilitare temporaneamente il backup della macchina via consolle di amministrazione, usando l’apposito interruttore relativo alla propria macchina, come mostrato nella figura seguente.

Per riabilitare il backup regolare , in questo caso, sarà di nuovo necessario chiedere all’amministratore di Macrium Site Manager di riportare allo stato precedente l’interruttore relativo alla propria macchina.

Esiste però anche un’altra soluzione che può funzionare senza necessità di chiedere all’amministratore di modificare il profilo della propria macchina in Macrium Site Manager. Di seguito descriverremo proprio una possibile soluzione che rende l’Agent Macrium, installato nella propria macchina, capace di distinguere la connettività che sta utilizzando per raggiungere il Site Manager, e in base alla connettività utilizzata decidere se fare o meno il backup.

Lo scripting dell’Agent è una tecnica estremamente potente che può essere adottata con Site Manager per affrontare sfide come questa. In parole povere, questa tecnica consente di eseguire con relativa facilità una serie di compiti diversi. In questo articolo, mostreremo proprio come utilizzare gli script dell’Agent di Site Manager per disabilitare selettivamente i backup in situazioni diverse, incluse quelle in cui i computer portatili sono connessi da remoto tramite VPN. Gli esempi possono essere comunque utili per risolvere magari altre problematiche e ad iniziare a conoscere questa ulteriore funzionalità disponibile.

Che cos’è lo scripting dell’Agent?

Macrium Site Manager v7.1.3268 e versioni successive consente di aggiungere degli script lato Agente che sono eseguiti periodicamente dall’Agent di Macrium. Uno di questi script potrebbe anche generare una “descrizione testuale” che sarà visualizzata nella tabella del Site Manager relativa al computer.

Sarà possibile, ad esempio, disabilitare dall’Agent il backup pianificato in presenza di determinate condizioni.
Iniziamo analizzando come modificare il comportamento dell’Agent quando il computer è connesso da remoto tramite VPN. Nell’attuale situazione di emergenza Covid-19, in cui molti lavoratori si connettono da remoto alla rete dell’ufficio tramite VPN, la possibilità di un maggiore controllo dell’esecuzione dei backup, può rivelarsi uno strumento utilissimo per evitare la congestione della banda della connessione VPN nei momenti meno opportuni.

Come impostare lo script e quando farlo eseguire

Per eseguire lo script, Macrium Agent esamina questo percorso:

C:\Programmi\Macrium\Agent\Scripts\script.cmd

Questo script sarà eseguito come file batch. Tuttavia, il file batch stesso può essere utilizzato per eseguire qualsiasi altro tipo di script o file eseguibile.
L’output di questo script lato Agente sarà restituito al Site Manager.

L’Agente di Macrium eseguirà lo script in una delle seguenti condizioni:

  • all’avvio del servizio Macrium Agent;
  • quando viene modificato uno qualsiasi dei file presenti nella cartella C:\Programmi\Macrium\Agent\Scripts
  • quando viene scritto un valore nella chiave di registro HKEY_LOCAL_MACHINE\SOFTWARE\Macrium\CMCAgent\UserScripts
  • ogni 30 minuti.

Output dello script

L’output dello script lato Agente fornisce all’amministratore le informazioni necessarie per comprendere correttamente cosa sia successo nei singoli Agenti installati. Queste informazioni sono molto utili per decidere se sia necessario eventualmente intraprendere azioni particolari.

Ci sono due elementi importanti nei valori restituiti dagli script:

  • la descrizione utente: qualsiasi testo restituito via “standard output “(ad esempio con il comando “echo”) sarà mostrato dal Site Manager nella colonna “User Description“della tabella Computer;
  • la modalità operativa: il codice di ritorno dello script determina la modalità operativa dall’utente impostata dell’Agent.

Cose da sapere

Quando si utilizza il file batch situato in C:\Programmi\Macrium\Agent\Scripts\script.cmd per eseguire uno script PowerShell, è importante considerare come verrà restituito l’output dello script del file batch. Per esempio:

C:\Programmi\Macrium\Agent\Scripts\script.cmd –

@echo off

exit /b powershell ./script.ps1

In questo esempio, powershell.exe restituirà uno “0” se il file ps1 restituisce “0”, altrimenti powershell.exe restituirà “1” se il file ps1 restituisce qualcos’altro (se lo script esce con “-1”, powershell.exe restituirà “1”). Affinché powershell.exe restituisca il codice invariato dal file ps1, il file batch dovrebbe essere scritto in questo modo:

C:\Programmi\Macrium\Agent\Scripts\script.cmd –

@echo off

exit /b powershell -File script.ps1

Scripting base lato Agente

Questo è un esempio semplice di scripting lato Agente. Questo script imposta semplicemente la descrizione dell’utente su qualunque cosa sia definita nel comando echo. È quindi possibile impostare un codice di uscita che consenta o blocchi i backup con il comando exit. In questo esempio il backup sarà bloccato dal valore restituito “-1”.

Blocchi basati sull’orario

L’esempio mostrato di seguito mostra come cambiare il livello di errore dello script in base all’ora di esecuzione dello stesso. Questa tecnica può essere usata per impostare manualmente gli orari in cui l’Agent deve assolutamente evitare che sia lanciato il backup. Passato questo intervallo di tempo, sarà effettuato un backup differito. Questo vincolo può essere utile per evitare ad esempio che il backup sia eseguito in orari in cui la banda di connessione VPN vada preservata per garantire la qualità della telefonia VoIP o delle video-conferenze.

Rilevamento VPN con Ipconfig

Possono esistere molti motivi per cui si desidera che il backup non sia eseguito quando si è connessi in VPN. Uno di questi è per preservare la limitata larghezza di banda disponibile di una connessione remota in VPN.

In questo scenario, i backup pianificati durante la loro esecuzione potrebbero ridurre moltissimo la banda della connessione VPN disponibile per il collegamento remoto.

L’esempio sopra mostra un semplice script batch che fornisce un determinato codice di errore a seconda che il valore “VPN” sia trovato nell’output del un comando ipconfig. Il valore “VPN” può essere modificato con qualsiasi altro valore che indichi se si è connessi a una VPN o meno in ipconfig (ad es. Ambito di indirizzi IP riservati per VPN). Non tutte le VPN sono visualizzate con ipconfig. In questo caso lo script andrà modificato per cercare di rilevarla in qualche altro modo.

File di segnalazione “marker file”

E’ possibile anche bloccare l’esecuzione dei backup se è presente un file “marker” in una directory a nostra scelta. Di seguito è mostrata una versione base di questo script:

Questo esempio imposta l’output del file batch in base alla presenza di un file marker posizionato nella radice di C:\.

Alcuni software VPN consentono l’esecuzione di uno script in fase di connessione o di disconnessione della VPN. Se il software VPN in uso supporta questa funzionalità, allora si può utilizzare un file batch che crei il file “marker” immediatamente dopo la connessione VPN come nell’esempio seguente.

Questo script crea un “file marker” vuoto chiamato “VPNMarkerFile.txt”.
Similmente possiamo creare anche un secondo script per eliminare questo file quando la VPN si disconnette come nell’esempio seguente.

In questo modo, il file “marker” esisterà solo quando il computer in questione è connesso in VPN. A questo punto va creato un terzo file, da inserire in C:\Programmi\Macrium\Agent\Scripts\script.cmd, che rileverà la presenza del file “marker” e bloccherà i backup di conseguenza come mostrato di seguito.

Nota: se il “marker file” viene scritto in C:\Programmi\Macrium\Agent\Scripts, lo script script.cmd verrà eseguito non appena sarà rilevata la modifica apportata.

Processi in esecuzione

Cercando nell’elenco dei processi, è possibile scoprire se un processo è in esecuzione o meno, quindi modificare l’output del file batch di conseguenza.

Possono esistere svariate motivazioni per cui si desideri bloccare un backup durante l’esecuzione di un particolare processo. Ad esempio, quando un processo esegue un’attività critica ad alto impegno di risorse e non si desidera avere in esecuzione contemporaneamente l’Agent Macrium. Alcune VPN hanno associato un processo in esecuzione quando l’utente è connesso con essa. In questo caso, modificando “process.exe” con il nome del processo in esecuzione, sarebbe possibile bloccare l’esecuzione dei backup quando si è connessi in VPN.

Sicurezza

Per motivi di sicurezza, gli script devono essere collocati nella cartella C:\Programmi\Macrium\Agent\Scripts. L’accesso in scrittura a questa cartella è limitato al solo utente amministratore, per impostazione predefinita. Se le autorizzazioni per questa cartella vengono modificate manualmente da un amministratore di sistema, gli utenti non privilegiati potrebbero essere in grado di impostare o modificare lo script in esecuzione.

Il servizio Agente esegue lo script come processo non privilegiato utilizzando l’account del servizio di rete (Network Service Account), indipendentemente dall’utente configurato per l’esecuzione del servizio Agent. Ciò per impedire che uno script lato utente sia eseguito con i privilegi di amministratore.

Ulteriori informazioni sulla sicurezza degli script e Macrium Reflect sono disponibili al seguente URL:

https://knowledgebase.macrium.com/display/KNOW72/Backup+Save+Options

Conclusione

Qualunque cosa si debba fare per gestire le risorse e mantenere l’accesso degli utenti alla rete, lo scripting lato Agente all’interno di Macrium Site Manager è solo uno dei molti strumenti che possono essere utilizzati per garantire che la sicurezza non comprometta la produttività e viceversa.