Anonim

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 grossa casella di comando sul tuo computer Windows era letteralmente l'unico modo in cui la maggior parte delle persone interagiva mai con un computer. Le interfacce della riga di comando si basavano fortemente 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 linee di comando, ci sono 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 presentano alcune limitazioni. Soprattutto, sono parte integrante del sistema operativo Windows.

Perché gli script della riga di comando?

Perché usare uno script da riga di comando quando ci sono 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 usando le funzioni rese disponibili attraverso il programma che crea i dati? Che si tratti del sistema operativo stesso tramite un semplice comando di copia di file o un comando di database per produrre un file binario ripristinabile, il programma di origine sa meglio come eseguire il backup.
  • Controllo finale : poiché uno script della riga di comando segue una semplice procedura dettagliata, sai esattamente cosa sta succedendo e puoi facilmente modificare il comportamento.
  • Veloce : poiché tutto è un comando nativo, nulla è soggetto a interpretazione. Ancora una volta, stai usando i comandi forniti dal programma stesso, quindi l'overhead è 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 funky. Anche se potresti dover fare qualche ricerca, prova ed errore 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 (al di fuori del tempo per svilupparlo), quindi puoi copiare i tuoi script su qualsiasi numero di macchine e sistemi con poco o nessun tempo o costo. Confrontalo con il costo di acquisto delle licenze per il software di backup su più server e / o macchine 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 in qualche modo un '"arte nera". Tuttavia, in realtà è una cosa abbastanza semplice da imparare. Per dimostrare la potenza della riga di comando, sto fornendo un semplice script batch di Windows che è possibile utilizzare per il backup dei dati importanti. Questo script configurabile e personalizzabile non richiede alcuna conoscenza (o volontà di apprendere) del linguaggio di scripting batch di Windows, ma se decidi di voler saperne di più sullo script di batch batch di Windows, troverai questo script come 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 denominata 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 (zip) i file di backup. Dopo aver copiato tutti i file di cui eseguire il backup, vengono compressi per risparmiare spazio. 7-Zip è necessario per essere installato sul tuo sistema affinché funzioni.
  3. Data il file compresso e lo sposta in un percorso 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 spostati in un percorso di archiviazione configurato, ad esempio un'unità esterna o un percorso di rete.
  4. Si pulisce da solo. Dopo aver completato tutte le attività, lo script batch pulisce tutti i file temporanei che ha creato.

Requisiti:
Windows 2000 / XP / 2003 / Vista o più recente
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, immessi un elemento di backup per riga. Questo file deve essere denominato "BackupConfig.txt" e deve 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 Settings \ Jason Faulkner \ Desktop C: \ Documents and Settings \ Jason Faulkner \ My Documents \ Important Files C: \ Scripts \ BackupScript.bat

L'esempio sopra avrebbe eseguito il backup del desktop dell'utente Windows Jason Faulkner (e di tutte le cartelle sul desktop), la cartella denominata "File importanti" all'interno di My Documents (e tutte le cartelle all'interno di "File importanti") e il file "BackupScript.bat" all'interno la directory C: \ Scripts.

Tipi di backup:

  • Backup completo: una copia completa di tutti i file e cartelle (comprese le sottocartelle) è inclusa nel backup.
  • Backup incrementale: quando viene fornita una cartella, sono solo i file creati o modificati alla data corrente
    eseguito il backup. Quando viene fornito un file, viene sempre eseguito il backup, indipendentemente da quando è stato modificato.

Lo script batch di Windows di backup dei dati

Voglio sottolineare questo script è molto semplice, in quanto tutto ciò che fa è creare backup utilizzando una semplice copia del 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 viene eseguito il backup completo (in qualsiasi altro giorno verrà eseguito un backup incrementale).
  • Posizione in cui 7-Zip è installato sul tuo computer. Lo script viene automaticamente impostato 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 "utilizzare" questo script o impostare un'attività pianificata, dai un'occhiata ai link sotto la fonte dello script.

Senza ulteriori indugi, eccolo qui:

Nota : poiché le virgolette non vengono visualizzate correttamente di seguito (e di conseguenza può incasinare lo script), ho incluso un link in chiaro sotto lo script che è possibile utilizzare per ottenere una fonte accurata da cui copiare.

@ECHO OFF REM BackupScript REM Versione 1.01, aggiornata: 21/05/2008 REM Di Jason Faulkner (articles132solutions.com) REM Esegue backup completi o incrementali di cartelle e file configurati dall'utente. Uso REM --- REM> BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM --- Opzioni di configurazione --- REM Posizione della cartella in cui si desidera archiviare l'archivio di backup risultante. REM Questa cartella deve esistere. Non mettere un '\' alla fine, questo verrà aggiunto automaticamente. REM È possibile immettere un percorso locale, una lettera di unità esterna (es. F :) o un percorso di rete (es. \\ server \ backup) SET BackupStorage = C: \ Backup REM In quale giorno della settimana si desidera eseguire un backup completo attivo? REM Immettere una delle seguenti opzioni: Dom, Lun, Mar, Mer, Gio, Ven, Sab, * REM Qualsiasi giorno della settimana diverso da quello specificato di seguito eseguirà un backup incrementale. REM Se si immette '*', verrà sempre eseguito 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 programmi. SET InstallLocationOf7Zip =% ProgramFiles% \ 7-Zip REM + -------------------------------------- --------------------------------- + REM | Non cambiare 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. SE NON ESISTE% filBackupConfig% (ECHO Nessun file di configurazione trovato, mancante:% filBackupConfig% GOTO End) SE NON ESISTO "% exe7Zip%" (ECHO 7-Zip non è installato nella posizione:% dir7Zip% ECHO Aggiorna la directory in cui 7-Zip è installato. Fine GOTO) Variabili di backup REM. FOR / f "token = 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 Avvio della copia dei file. SE NON ESISTE "% dirTempBackup%" MKDIR "% dirTempBackup%" FOR / f "skip = 1 tokens = *" %% A IN (% filBackupConfig%) DO (SET Current = %% ~ A IF NOT EXIST "! Attuale! "(ECHO ERROR! Non trovato:! Current!) ELSE (ECHO Copia:! Current! SET Destination =% dirTempBackup% \! Current: ~ 0, 1! %% ~ pnxA REM Determina se la voce è un file o una directory. SE "%% ~ xA" == "" (Directory REM. XCOPY "! Attuale!" "! Destinazione!" / V / c / i / g / h / q / r / y% swXCopy%) ELSE (File REM . 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. SE ESISTENTE "% BackupFileDestination%" DEL / f / q "% BackupFileDestination%" ECHO Compressione dei file di backup. (Nuova finestra) REM Comprime i file utilizzando 7-Zip in un processo con priorità inferiore. INIZIA "Compressione backup. NON CHIUDERE" / belownormal / wait "% exe7Zip%" a -tzip -r -mx5 "% BackupFileDestination%" "% dirTempBackup% \" ECHO Fatto comprimendo i file di backup. ECO. ECHO Pulizia. SE ESISTENTE "% dirTempBackup%" RMDIR / s / q "% dirTempBackup%" ECHO. : Fine ECHO terminata. ECO. ENDLOCAL

La fonte di testo semplice è 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), quindi so che funziona molto bene. Spero che lo trovi utile.

Godere!

Script batch di Windows per il backup dei dati