Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

NAS-Backups via Batchfiles

Frage Entwicklung Batch & Shell

Mitglied: BlueBones

BlueBones (Level 1) - Jetzt verbinden

10.01.2010, aktualisiert 23:24 Uhr, 2786 Aufrufe

In meiner kleinen Windows-Umgebung mit NT5.1 und NT6.0-Rechnern (also ohne Server) betreibe ich eine kleine NAS.
Hersteller: Synology Disk Station DS 209 mit RAID-1; Kapazität ca. 1,3 TByte; Linux-Basis).
Bekanntlich ist selbst ein RAID-1-Verbund kein wirkliches Backup unersetzbarer Datenbestände.
Daher betreibe ich über einen vorhandenen freien USB-Anschluss eine externe HDD (NTFS, Kap. ca. 930 GByte), auf die ich einmal pro Woche über einen Batch-Job die wichtigsten Verzeichnisse per robocopy wegsichere bzw. synchronisiere.

Hierzu verwende ich zwei verschiedene Batch-Files

Einmal eine (ich lasse die Namen im Originalzustand, dann muss ich Inhalte hier nicht anpassen) Verz_eintragen.bat.
Mit der "echo"e ich einzelne Verzeichnisse in eine GETDIRS.txt. Diese erstelle ich selbstredend nicht jedes Mal neu, ich lasse sie stehen und ergänze sie nur ggf.
Die besagte Verz_eintragen.bat sieht - verkürzt - so aus:

@ECHO OFF
SETLOCAL
SET TRGT=%CD%\Backups
ECHO Definiertes Ziel: %TRGT%

:WORK
TITLE Warte auf Ordner-Definierung...
SET /P ECHODIR=Verzeichnis in Liste eintragen:
IF /I "%ECHODIR%."=="." goto :end
FOR /F "TOKENS=2 DELIMS=:\ " %%a IN ("%ECHODIR%") DO IF NOT EXIST "%TRGT%\%%~na" (MKDIR "%TRGT%\%%~na")
ECHO %ECHODIR%>>GETDIRS.txt
GOTO :WORK

:END
ENDLOCAL
ECHO Das war's!
PAUSE >NUL:


Hier beginnt schon mal mein Dilemma, da beim Schritt (MKDIR "%TRGT%\%%~na") DOS (wie sonst auch) Probleme mit Verzeichnisnamen hat, die Leerzeichen haben.
Nun, wie auch immer. Jedenfalls sorgt folgende GetBackups.bat dafür, die in GETDIRS.txt genannten Verzeichnisse ins Unterverzeichnis \Backups per robocopy zu schaufeln.
Wobei ich klar sagen muss, die Einträge an sich im TXT sind okay. Fehler treten beim folgenden Kontrukt auf:
Hier die GetBackups.bat, die imselben Verzeichnis liegt, wie die txt und die verz_eintragen.bat:

@ECHO off
SETLOCAL
SET TRGT=%CD%\Backups
::Anmerkung für das Forum: Mit %OPT% kann man mit Eingabe OFF angeben, ob man nach Abschluss des Jobs einen Forced Shutdown möchte oder nicht)
SET OPT=%1

IF /I %TRGT%.==. GOTO :ERRTRGT
ECHO Definiertes Ziel: %TRGT%
IF NOT EXIST %CD%\GETDIRS.txt (
ECHO Keine Verzeichnisliste %CD%\GETDIRS.txt gefunden. Abbruch...
GOTO :END
) else (
ECHO Verzeichnisliste gefunden. Weiter geht's...
)
ECHO.
TYPE GETDIRS.txt
ECHO.
goto :work
IF (%OPT%)==(OFF) GOTO :WORK

SET /P ASK4OFF=Eingabe "OFF" l”st nach Synch-Vorgang %COMPUTERNAME% herunter:
IF (%ASK4OFF%)==(OFF) ECHO Achtung: %COMPUTERNAME% wird nach Sync-Vorgang heruntergefahren. Abbruch ist sp„ter m”glich...
IF (%ASK4OFF%) NEQ (OFF) ECHO %COMPUTERNAME% wird nach Sync-Vorgang NICHT heruntergefahren.
ECHO.

:WORK
for /f "tokens=2* delims=:\" %%a in (GETDIRS.txt) do @if not exist "%TRGT%\%%~na" (MD "%TRGT%\%%~na")
for /f " usebackq delims=" %%b in (GETDIRS.txt) do @echo %TIME:~0,8%: Synchronisiere %TRGT%%%~npb & start /wait "Ziel: %TRGT%%%~npb" robocopy.exe "%%b" "%TRGT%%%~npb" /S /E /W:10 /R:15 /ZB
GOTO :END

:ERRTRGT
ECHO Ziel ist unklar. Abbruch...
ENDLOCAL
GOTO :EOF

:END
ECHO.
IF (%ASK4OFF%)==(OFF) GOTO :OUT
ECHO Das war's!
ENDLOCAL
PAUSE >NUL:
GOTO :EOF

:OUT
shutdown.exe -s -f -t 100 -c "Synchronisation abgeschlossen. Fahre %COMPUTERNAME% herunter..."
ENDLOCAL
ECHO Das war's! Tastendruck verhindert lokalen Shutdown...
PAUSE >NUL:
ECHO Lokaler Shutdown wird unterbunden...
shutdown.exe -a
PAUSE >NUL:


Wer von Euch Weisen sieht den Fehler, der dazu führt, dass Verzeinisse mit Leerzeichen trotz der "" nicht sauber erzeugt werden und der Job abbricht?
Danke Euch schon mal für Eure bisherige Geduld beim Durchlesen und für die Mühe Eurer evtl. Antworten im Voraus!
Ähnliche Inhalte
Erkennung und -Abwehr
Command Injection: Qnap-NAS-Geräte aus der Ferne angreifbar

Link von magicteddy zum Thema Erkennung und -Abwehr ...

Netzwerkprotokolle
gelöst NAS durch Fritzbox per IPv6 über DS-Lite Anschluss erreichen (9)

Frage von doubleo zum Thema Netzwerkprotokolle ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(12)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...