Anonim

Computergebruikers die zijn opgegroeid met geavanceerde Mac- en Windows-computers zijn zich hiervan misschien niet bewust, maar ooit, lang geleden, werden alle pc's bestuurd via een opdrachtregelinterface. Ja, die onhandige opdrachtbox op je Windows-machine was letterlijk de enige manier waarop de meeste mensen ooit met een computer communiceerden. Opdrachtregelinterfaces waren sterk afhankelijk van kleine programma's die 'scripts' werden genoemd. Dit waren verzamelingen besturingssysteemopdrachten die werden gebruikt om veelvoorkomende taken uit te voeren.

Hoewel de grafische gebruikersinterfaces van hedendaagse pc's lichtjaren verfijnder en gebruiksvriendelijker zijn dan de oude opdrachtregels, zijn er nog steeds toepassingen voor de oudere methode voor het besturen van uw computer. Een van de meest voorkomende en meest geschikte toepassingen voor een opdrachtregelscript is gegevensback-up. Commandoregelscripts kunnen worden geautomatiseerd om op elk gewenst moment te worden uitgevoerd zonder menselijke interactie en hebben weinig beperkingen. Het beste van alles - ze zijn een ingebouwd onderdeel van het Windows-besturingssysteem.

Waarom opdrachtregelscripts?

Waarom een ​​opdrachtregelscript gebruiken als er zowel commerciële als gratis back-upprogramma's zijn? Nou, commandoregelscripts hebben een aantal unieke voordelen. Hier zijn er een paar:

  • Native Commands : Welke betere manier om een ​​back-up van gegevens te maken dan door de functies te gebruiken die beschikbaar zijn gesteld via het programma dat de gegevens maakt? Of dit nu het besturingssysteem zelf is via een eenvoudige opdracht voor het kopiëren van bestanden of een databaseopdracht om een ​​herstelbaar binair bestand te produceren, het bronprogramma weet het beste hoe het zichzelf moet back-uppen.
  • Ultieme controle : aangezien een opdrachtregelscript een eenvoudige stapsgewijze procedure volgt, weet u precies wat er gebeurt en kunt u het gedrag gemakkelijk wijzigen.
  • Snel : Omdat alles een native opdracht is, is niets onderhevig aan interpretatie. Nogmaals, u gebruikt opdrachten van het programma zelf, zodat overhead tot een minimum wordt beperkt.
  • Krachtig : ik moet nog een back-uptaak ​​zien die niet kan worden uitgevoerd via een opdrachtregelscript … en ik heb funky dingen gedaan. Hoewel je misschien wat onderzoek en vallen en opstaan ​​moet doen als je echt unieke behoeften hebt, zijn de ingebouwde functies en functies van de scripttaal die je gebruikt meestal meer dan voldoende.
  • Gratis en flexibel : een opdrachtregelscript kost natuurlijk niets (buiten de tijd om het te ontwikkelen), dus u kunt uw scripts met weinig tot geen tijd of kosten naar een willekeurig aantal machines en systemen kopiëren. Vergelijk dit met de kosten van het aanschaffen van licenties voor back-upsoftware op verschillende servers en / of desktopmachines.

Een snel overzicht van het back-up batch-script

De meeste mensen hebben nooit geleerd om command-line scripting te gebruiken en het wordt enigszins als een "zwarte kunst" beschouwd. Het is echter vrij eenvoudig om te leren. Om de kracht van de opdrachtregel te demonstreren, bied ik een eenvoudig Windows-batchscript dat u kunt gebruiken om een ​​back-up te maken van uw belangrijke gegevens. Dit configureerbare en aanpasbare script vereist geen kennis (of bereidheid om te leren) van de Windows-batch-scripttaal, maar als u besluit dat u meer wilt weten over Windows-batch-scripts, vindt u dit script een goed startpunt .

Wat het back-upscript doet:

  1. Maakt volledige of dagelijkse incrementele (zie hieronder voor een definitie) back-ups van bestanden en mappen die u opgeeft in een afzonderlijk configuratietekstbestand (zie hieronder).
    • Wanneer een map een naam krijgt, wordt er een back-up van die map en alle submappen gemaakt.
    • Wanneer een bestand een naam krijgt, wordt alleen van dat bestand een back-up gemaakt.
  2. Comprimeert (ritst) de back-upbestanden. Nadat alle back-upbestanden zijn gekopieerd, worden ze gecomprimeerd om ruimte te besparen. 7-Zip moet op uw systeem zijn geïnstalleerd om dit te laten werken.
  3. Dateert het gecomprimeerde bestand en verplaatst het naar een opslaglocatie. Nadat de back-upbestanden zijn gecomprimeerd, krijgt het resulterende archief een bestandsnaam volgens de huidige datum en vervolgens verplaatst naar een geconfigureerde opslaglocatie, zoals een externe schijf of netwerklocatie.
  4. Reinigt zichzelf. Nadat alle taken zijn voltooid, ruimt het batch-script alle tijdelijke bestanden op die het heeft gemaakt.

Voorwaarden:
Windows 2000 / XP / 2003 / Vista of nieuwer
7-Zip (het is gratis)

Configuratiebestand:
Het configuratiebestand is simpelweg een tekstbestand dat bestanden en mappen bevat om te back-uppen, één back-upitem per regel ingevoerd. Dit bestand moet de naam "BackupConfig.txt" hebben en zich in dezelfde map bevinden als het back-upscript. Hier is een voorbeeld van een BackupConfig.txt-bestand (merk op dat het "#" -teken op de eerste regel aangeeft dat de regel een opmerking is; opmerkingen worden altijd genegeerd wanneer het script wordt uitgevoerd):

# Voer bestands- en mapnamen in, één per regel.
C: \ Documents and Settings \ Jason Faulkner \ Desktop C: \ Documents and Settings \ Jason Faulkner \ My Documents \ Important Files C: \ Scripts \ BackupScript.bat

In het bovenstaande voorbeeld wordt een back-up gemaakt van het bureaublad van de Windows-gebruiker Jason Faulkner (en alle mappen op het bureaublad), de map met de naam "Belangrijke bestanden" in Mijn documenten (en alle mappen in "Belangrijke bestanden") en het bestand "BackupScript.bat" binnen de map C: \ Scripts.

Typen back-ups:

  • Volledige back-up: een volledige kopie van alle bestanden en mappen (inclusief submappen) is opgenomen in de back-up.
  • Incrementele back-up: wanneer een map wordt verstrekt, zijn alleen bestanden die op de huidige datum zijn gemaakt of gewijzigd
    gebackupt. Van een bestand wordt altijd een back-up gemaakt, ongeacht wanneer het werd gewijzigd.

Het Data Backup Windows Batch Script

Ik wil benadrukken dat dit script erg basic is, omdat het alleen maar back-ups maakt met behulp van een eenvoudige bestandskopie. Er zijn enkele configuratieopties die u kunt instellen:

  • De back-upopslaglocatie waar de resulterende gecomprimeerde back-upbestanden worden opgeslagen.
  • De dag van de week waarop de volledige back-up wordt uitgevoerd (elke andere dag zou een incrementele back-up worden uitgevoerd).
  • Locatie van waar 7-Zip op uw computer is geïnstalleerd. Het script wordt automatisch ingesteld om op de standaardlocatie te kijken.

Als u suggesties of functieverzoeken heeft, kunt u hieronder reageren. Ik zou heel graag een vervolgartikel over dit bericht willen doen met een bijgewerkt script op basis van de input van de lezer. Als u instructies nodig hebt om dit script te 'gebruiken' of een geplande taak in te stellen, bekijk dan de links onder de scriptbron.

Zonder verder oponthoud is het hier:

Opmerking : aangezien de aanhalingstekens hieronder niet correct worden weergegeven (en daardoor het script kunnen verknoeien), heb ik een platte tekstkoppeling onder het script opgenomen waarmee u een nauwkeurige bron kunt verkrijgen om te kopiëren.

@ECHO UIT REM BackupScript REM-versie 1.01, bijgewerkt: 2008-05-21 REM door Jason Faulkner (Articles132solutions.com) REM Voert volledige of incrementele back-ups uit van mappen en bestanden die door de gebruiker zijn geconfigureerd. REM-gebruik --- REM> BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM --- Configuratie-opties --- REM Maplocatie waar u het resulterende back-uparchief wilt opslaan. REM Deze map moet bestaan. Plaats geen '\' op het einde, dit wordt automatisch toegevoegd. REM U kunt een lokaal pad, een externe stationsletter (bijv. F :) of een netwerklocatie (bijv. \\ server \ backups) invoeren SET BackupStorage = C: \ Backup REM Welke dag van de week wilt u een volledige back-up op? REM Voer een van de volgende handelingen in: Zon, ma, di, wo, do, vr, za, * REM Elke andere dag van de week dan de hieronder gespecificeerde zal een incrementele back-up uitvoeren. REM Als u '*' invoert, wordt elke keer een volledige back-up uitgevoerd. SET FullBackupDay = * REM Locatie waar 7-Zip op uw computer is geïnstalleerd. REM De standaardwaarde is in een map, '7-Zip' in uw map Program Files. SET InstallLocationOf7Zip =% ProgramFiles% \ 7-Zip REM + -------------------------------------- --------------------------------- + REM | Wijzig hieronder niets, tenzij u weet wat u doet. | REM + ------------------------------------------------ ----------------------- + REM Gebruiksvariabelen. SET exe7Zip =% InstallLocationOf7Zip% \ 7z.exe SET dirTempBackup =% TEMP% \ backup SET filBackupConfig = BackupConfig.txt REM Validatie. INDIEN NIET BESTAAN% filBackupConfig% (ECHO Geen configuratiebestand gevonden, ontbreekt:% filBackupConfig% GOTO End) INDIEN BESTAAN "% exe7Zip%" (ECHO 7-Zip is niet geïnstalleerd op de locatie:% dir7Zip% ECHO Werk de map bij waar 7-Zip is geïnstalleerd GOTO End) REM Backup-variabelen. FOR / f "tokens = 1, 2, 3, 4 delims = /" %% a IN ('date / t') DOEN (SET DayOfWeek = %% a SET NowDatum = %% d - %% b - %% c SET FileDate = %% b - %% c - %% d) IF {% FullBackupDay%} == {*} SET FullBackupDay =% DayOfWeek% IF / i {% FullBackupDay%} == {% DayOfWeek%} (SET txtBackup = Volledige SET swXCopy = / e) ELSE (SET txtBackup = Incrementele SET swXCopy = / s / d:% FileDate%) ECHO Beginnen met het kopiëren van bestanden. ALS NIET BESTAAN "% dirTempBackup%" MKDIR "% dirTempBackup%" FOR / f "skip = 1 tokens = *" %% A IN (% filBackupConfig%) DOEN (SET Current = %% ~ A ALS NIET BESTAAN "! Current! "(ECHO FOUT! Niet gevonden:! Huidig!) ELSE (ECHO kopiëren:! Huidig! SET Bestemming =% dirTempBackup% \! Huidig: ~ 0, 1! %% ~ pnxA REM Bepaal of het item een ​​bestand of map is. ALS "%% ~ xA" == "" (REM-directory. XCOPY "! Actueel!" "! Bestemming!" / V / c / i / g / h / q / r / y% swXCopy%) ELSE (REM-bestand . COPY / v / y "! Current!" "! Destination!"))) ECHO Klaar met het kopiëren van bestanden. ECHO. SET BackupFileDestination =% BackupStorage% \ Backup_% FileDate% _% txtBackup% .zip REM Als het back-upbestand bestaat, verwijdert u dit ten gunste van het nieuwe bestand. ALS BESTAAN "% BackupFileDestination%" DEL / f / q "% BackupFileDestination%" ECHO Gecomprimeerde bestanden comprimeren. (Nieuw venster) REM Comprimeer bestanden met 7-Zip in een proces met lagere prioriteit. START "Back-up comprimeren. NIET SLUITEN" / belownormal / wait "% exe7Zip%" a -tzip -r -mx5 "% BackupFileDestination%" "% dirTempBackup% \" ECHO Klaar met het comprimeren van back-upbestanden. ECHO. ECHO Opruimen. INDIEN "% dirTempBackup%" RMDIR / s / q "% dirTempBackup%" ECHO BESTAAN. : Einde ECHO voltooid. ECHO. ENDLOCAL

Bron van platte tekst is hier beschikbaar: back-up

Als je hulp nodig hebt om aan de slag te gaan met het implementeren van dit script, zijn hier een paar links om je te helpen:

  • Een batchbestand maken
  • Een geplande taak van Windows maken

Dit is hetzelfde script dat ik dagelijks gebruik om een ​​back-up van mijn computer te maken (met een paar aanpassingen natuurlijk), dus ik weet dat het heel goed werkt. Ik hoop dat je het nuttig vindt.

Genieten!

Windows batch-script voor back-up van gegevens