Script batch di Windows per eseguire il backup dei dati

Gli utenti di computer che sono cresciuti con computer Mac e Windows avanzati potrebbero non esserne consapevoli, ma una volta, molto tempo fa, tutti i personal computer erano controllati tramite un'interfaccia a riga di comando. Sì, quella goffa casella di comando sulla tua macchina Windows era letteralmente l'unico modo in cui la maggior parte delle persone ha mai interagito con un computer. Le interfacce della riga di comando si basavano molto su piccoli programmi chiamati "script", che erano raccolte di comandi del sistema operativo utilizzati per eseguire attività comuni.

Sebbene le interfacce utente grafiche dei PC di oggi siano anni luce più sofisticate e facili da usare rispetto alle vecchie righe di comando, esistono ancora usi per il vecchio metodo di controllo del computer. Una delle applicazioni più comuni e adatte per uno script da riga di comando è il backup dei dati. Gli script della riga di comando possono essere automatizzati per essere eseguiti in qualsiasi momento senza alcuna interazione umana e hanno poche limitazioni. La cosa migliore è che sono una parte integrata del sistema operativo Windows.

Perché gli script della riga di comando?

Perché utilizzare uno script da riga di comando quando sono disponibili programmi di backup sia commerciali che gratuiti? Bene, gli script da riga di comando hanno una serie di vantaggi unici. Eccone alcuni:

  • Comandi nativi : Quale modo migliore per eseguire il backup dei dati se non utilizzando le funzioni messe a disposizione attraverso il programma che crea i dati? Che si tratti del sistema operativo stesso tramite un semplice comando di copia file o un comando di database per produrre un file binario ripristinabile, il programma sorgente sa meglio come eseguire il backup.
  • Controllo definitivo Nota: poiché uno script della riga di comando segue una semplice procedura passo passo, sai esattamente cosa sta succedendo e puoi facilmente modificare il comportamento.
  • Veloce : Poiché tutto è un comando nativo, nulla è soggetto a interpretazione. Di nuovo, stai usando i comandi forniti dal programma stesso, quindi il sovraccarico è ridotto al minimo.
  • Potente : Devo ancora vedere un'attività di backup che non può essere eseguita tramite uno script da riga di comando... e ho fatto alcune cose strane. Anche se potresti dover fare alcune ricerche e tentativi ed errori se hai esigenze davvero uniche, in genere le funzioni e le caratteristiche integrate del linguaggio di scripting che stai utilizzando sono più che sufficienti.
  • Gratuito e flessibile : Ovviamente, uno script da riga di comando non costa nulla (a parte il tempo per svilupparlo), quindi puoi copiare i tuoi script su un numero qualsiasi di macchine e sistemi con poco o nessun costo. Confrontalo con il costo dell'acquisto di licenze per il software di backup su più server e/o computer desktop.

Una rapida panoramica dello script batch di backup

La maggior parte delle persone non ha mai imparato a usare gli script da riga di comando ed è considerata una sorta di "arte nera". Tuttavia, in realtà è una cosa piuttosto semplice da imparare. Per dimostrare la potenza della riga di comando, sto fornendo un semplice script batch di Windows che puoi utilizzare per eseguire il backup dei tuoi dati importanti. Questo script configurabile e personalizzabile non richiede alcuna conoscenza (o volontà di imparare) del linguaggio di scripting batch di Windows, ma se decidi di voler saperne di più sullo scripting batch di Windows, troverai che questo script è un buon punto di partenza .

Cosa fa lo script di backup:

  1. Crea backup incrementali completi o giornalieri (vedi sotto per una definizione) di file e cartelle specificati in un file di testo di configurazione separato (vedi sotto).
    • Quando viene nominata una cartella, viene eseguito il backup di quella cartella e di tutte le sottocartelle.
    • Quando viene nominato un file, viene eseguito il backup solo di quel file.
  2. Comprime (zippa) i file di cui è stato eseguito il backup. Dopo che tutti i file di cui eseguire il backup sono stati copiati, vengono compressi per risparmiare spazio. 7-Zip deve essere installato sul tuo sistema affinché funzioni.
  3. Data il file compresso e lo sposta in una posizione di archiviazione. Dopo che i file di backup sono stati compressi, all'archivio risultante viene assegnato un nome file in base alla data corrente e quindi spostato in un percorso di archiviazione configurato, come un'unità esterna o un percorso di rete.
  4. Pulisce dopo se stesso. Dopo che tutte le attività sono state completate, lo script batch pulisce tutti i file temporanei che ha creato.

Requisiti:

Windows 2000/XP/2003/Vista o successivo

7-Zip (è gratuito)

File di configurazione:

Il file di configurazione è semplicemente un file di testo che contiene file e cartelle di cui eseguire il backup, inserito un elemento di backup per riga. Questa vita dovere essere chiamato "BackupConfig.txt" e trovarsi nella stessa cartella dello script di backup. Ecco un esempio di un file BackupConfig.txt (nota, il carattere "#" sulla prima riga indica che la riga è un commento; i commenti vengono sempre ignorati quando viene eseguito lo script):

# Immettere i nomi di file e cartelle, uno per riga.

C:Documents and SettingsJason FaulknerDesktop C:Documents and SettingsJason FaulknerI miei documentiFile importanti C:ScriptsBackupScript.bat

L'esempio sopra farebbe il backup del desktop dell'utente di Windows Jason Faulkner (e di tutte le cartelle sul desktop), la cartella chiamata "File importanti" all'interno di Documenti (e tutte le cartelle all'interno di "File importanti") e il file "BackupScript.bat" all'interno la directory C:Script.

Tipi di backup:

  • Backup completo: nel backup è inclusa una copia completa di tutti i file e le cartelle (incluse le sottocartelle).
  • Backup incrementale: quando viene fornita una cartella, solo i file creati o modificati sul data odierna sono

    eseguito il backup. Quando viene fornito un file, viene sempre eseguito il backup, indipendentemente da quando è stato modificato.

Lo script batch di Windows per il backup dei dati

Voglio sottolineare che questo script è molto semplice, poiché tutto ciò che fa è creare backup utilizzando una semplice copia di file. Ci sono alcune opzioni di configurazione che puoi impostare:

  • Il percorso di archiviazione di backup in cui sono archiviati i file di backup compressi risultanti.
  • Il giorno della settimana in cui viene eseguito il backup completo (qualsiasi altro giorno eseguirebbe un backup incrementale).
  • Posizione in cui è installato 7-Zip sul tuo computer. Lo script viene impostato automaticamente per cercare nella posizione predefinita.

Se hai suggerimenti o richieste di funzionalità, commenta di seguito. Mi piacerebbe davvero fare un articolo di follow-up a questo post che presenta uno script aggiornato basato sull'input del lettore. Se hai bisogno di istruzioni su come "usare" questo script o impostare un'attività pianificata, dai un'occhiata ai collegamenti sotto l'origine dello script.

Senza ulteriori indugi, eccolo qui:

Nota: Poiché le virgolette non vengono visualizzate correttamente di seguito (e di conseguenza possono rovinare lo script), ho incluso un collegamento di testo semplice sotto lo script che puoi utilizzare per ottenere una fonte accurata da cui copiare.

@ECHO OFF REM BackupScript REM Versione 1.01, aggiornato: 2008-05-21 REM Di Jason Faulkner (articles[-at-]132solutions.com) REM Esegue backup completi o incrementali di cartelle e file configurati dall'utente. REM Utilizzo--- REM > BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM ---Opzioni di configurazione--- REM Posizione della cartella in cui si desidera memorizzare l'archivio di backup risultante. REM Questa cartella deve esistere. Non mettere un '' alla fine, questo verrà aggiunto automaticamente. REM È possibile inserire un percorso locale, una lettera di unità esterna (es. F:) o un percorso di rete (es. \serverbackups) SET BackupStorage=C:Backup REM In quale giorno della settimana si desidera eseguire un backup completo? REM Immettere uno dei seguenti: Dom, Lun, Mar, Mer, Gio, Ven, Sab, * REM Qualsiasi giorno della settimana diverso da quello specificato di seguito verrà eseguito un backup incrementale. REM Se si immette '*', verrà eseguito ogni volta un backup completo. SET FullBackupDay=* REM Posizione in cui 7-Zip è installato sul tuo computer. REM L'impostazione predefinita è in una cartella, '7-Zip' nella directory dei file di programma. SET InstallLocationOf7Zip=%ProgramFiles%7-Zip REM +--------------------------------------- --------------------------------+ REM | Non modificare nulla qui sotto a meno che tu non sappia cosa stai facendo. | REM +------------------------------------------------ -----------------------+ REM Variabili di utilizzo. SET exe7Zip=%InstallLocationOf7Zip%7z.exe SET dirTempBackup=%TEMP%backup SET filBackupConfig=BackupConfig.txt Convalida REM. IF NOT EXIST %filBackupConfig% ( ECHO Nessun file di configurazione trovato, mancante: %filBackupConfig% GOTO End ) IF NOT EXIST "%exe7Zip%" ( ECHO 7-Zip non è installato nella posizione: %dir7Zip% ECHO Aggiorna la directory in cui 7-Zip è installato GOTO End ) REM Backup variabili. FOR /f "tokens=1,2,3,4 delims=/ " %%a IN ('date /t') DO ( SET DayOfWeek=%%a SET NowDate=%%d-%%b-%%c SET FileDate=%%b-%%c-%%d ) IF {%FullBackupDay%}=={*} SET FullBackupDay=%DayOfWeek% IF /i {%FullBackupDay%}=={%DayOfWeek%} ( SET txtBackup =SET completo swXCopy=/e ) ELSE ( SET txtBackup=SET incrementale swXCopy=/s /d:%FileDate% ) ECHO Inizio della copia dei file. IF NOT EXIST "%dirTempBackup%" MKDIR "%dirTempBackup%" FOR /f "skip=1 tokens=*" %%A IN (%filBackupConfig%) DO ( SET Current=%%~A IF NOT EXIST "!Current! " ( ECHO ERROR! Non trovato: !Current! ) ELSE ( ECHO Copying: !Current! SET Destination=%dirTempBackup%!Current:~0,1!%%~pnxA REM Determina se la voce è un file o una directory. IF "%%~xA"=="" ( REM Directory. XCOPY "!Current!" "!Destination!" /v /c /i /g /h /q /r /y %swXCopy% ) ELSE ( REM File. COPY /v /y "!Current!" "!Destination!" ) ) ) ECHO Copia dei file completata. ECO. SET BackupFileDestination=%BackupStorage%Backup_%FileDate%_%txtBackup%.zip REM Se il file di backup esiste, rimuoverlo a favore del nuovo file. IF EXIST "%BackupFileDestination%" DEL /f /q "%BackupFileDestination%" ECHO Compressione dei file di backup. (Nuova finestra) REM Comprimi i file utilizzando 7-Zip in un processo con priorità inferiore. START "Compressione backup. NON CHIUDERE" /belownormal /wait "%exe7Zip%" a -tzip -r -mx5 "%BackupFileDestination%" "%dirTempBackup%" ECHO Compressione dei file di backup completata. ECO. ECO Pulizia. IF EXIST "%dirTempBackup%" RMDIR /s /q "%dirTempBackup%" ECHO. :Fine ECHO Finito. ECO. ENDLOCALE

La fonte di testo normale è disponibile qui: backup

Se hai bisogno di aiuto per iniziare a implementare questo script, ecco un paio di link per aiutarti:

  • Come creare un file batch
  • Come creare un'attività pianificata di Windows

Questo è lo stesso script che uso quotidianamente per eseguire il backup del mio computer (con un paio di modifiche ovviamente), quindi so che funziona molto bene. Spero che lo trovi utile.

Divertiti!

messaggi recenti

$config[zx-auto] not found$config[zx-overlay] not found