Windows 10 BackUp tramite Volume Shadow e RoboCopy

Eseguire un backup senza disattivare servizi e programmi in esecuzione.
Sei l’unico responsabile per tutto ciò che accade a seguito dell’uso di questo codice.
NB. è necessario avere il servizio di Volume Snapshot Service o VSS avviato.
Per avviare manualmente il servizio VSS aprire il prompt dei comandi di windows (Windows -> Start -> cmd) come Administrator, ed impartire il seguente comando:

net start VSS

in caso non avete avviato command prompt come amministratore vi ritrovate con questo errore:

net start vss
Errore di sistema 5.
Accesso negato.

create il seguente file batch tramite notepad e salvatelo con un nome a vostro piacimento (tipo: miobackupvss.bat) :

@echo off
setlocal
:: partizione disco
set partition-disk=d:
:: destinazione backup locale o in remoto, quest'ultimo deve già avere accesso alla destinazione remota
set remote=\\sharefolder\CopiaDati\
:: directory temporanea
set mountdir=D:\Backup\Mount\
:: setto nome backup "dati utente"
set dirs=Dati Utenti
:: creao la certella temporanea 
rmdir %mountdir%
:: rimuovo eventuali copie shadow presenti
vssadmin delete shadows /for=%partition-disk% /quiet
del shadow.txt
:: creo la nuova copia di shadow e copio la struttura su file testo 
wmic shadowcopy call create Volume=%partition-disk%\ > shadow.txt
:: eseguo ciclo for sul contenuto del file shadow.txt 
for /f "skip=5 tokens=5" %%i in (shadow.txt) do (
  mklink /d "%mountdir%" "%%i\"
:: copio i dati nella cartella di destinazione  
  for %%n in (%dirs%) do (
    robocopy  "%mountdir%\%%n" "%remote%\%%n" /mir /sec 
  )
  goto :break
)
:break
:: rimuovo la cartella temporanea 
rmdir %mountdir%
::rimuovo la copia di shadow creata
vssadmin delete shadows /for=%partition-disk% /quiet

Loading