Liste weiterer Kommandozeilentools
In dieser Rubrik werden verschiedene Kommandozeilentools aufgelistet, die sich ebenso in Batch-Dateien verwenden lassen. Es sind zumeist Portierungen bekannter Unix-Kommandozeilentools oder aber Freeware für Windows.
Alle genannten Programme gehören nicht(!) zum Umfang von MS Windows.
Beispiele: Mysql-DB wiederherstellen
Dieses Skript inkludet dieselbe Konfiguration, wie das Backup-Skript.Es arbeitet interaktiv.
- Es wird nach dem Backup-Set gefragt (es werden alle vorhandenen Datenbanken aufgelistet)
- anschliessend werden die zu dieser Datenbank gehörenden Backups angezeigt.
- Es wird nach dem Namen der Datenbank gefragt, in die der Dump importiert werden soll. Default ist dieselbe Datenbank. Wird eine nicht existierende DB angegeben, wird diese zhunächst angelegt.
@echo off rem ====================================================================== :: :: Restore einer Mysql-DB :: :: erfordert: :: mysql, gzip :: rem ====================================================================== rem ------------------------------------------------------ :: CONFIG rem ------------------------------------------------------ set about=Axels Mysql-Restore call config_mysql.bat rem ------------------------------------------------------ :: MAIN rem ------------------------------------------------------ TITLE %about% echo. echo ===== %about% ===== echo. echo ===== Auswahl des Backup-Sets echo --- vorhandene Mysql-Datenbanken: for /F "tokens=* skip=1" %%a in ('echo show databases ^| mysql %dbparams%' ) do echo %%a echo %dball% echo. echo Das Backup welcher Datenbank soll wiederhergestellt werden? set /P dbname="Datenbank-Name > " echo. echo --- vorhandene Mysql-Backups: dir "%dirBackup%\%dbname%_*.gz" | findstr "^[0-9]" echo. echo Welches Backup soll eingespielt werden? set /P dumpfile="Dateiname > " echo. set dboverwrite=%dbname% if "%dbname%"=="%dball%" set dboverwrite= if NOT "%dboverwrite%"=="" ( echo "Welche Datenbank soll ueberschrieben werden (default=%dboverwrite%)?" set /P dboverwrite="Datenbank-Name > " echo. ) echo show databases | mysql %dbparams% | findstr "^%dboverwrite%$" || ( echo HINWEIS: echo Der angegebene neue Datenbankname existiert nicht. echo. echo --- lege Datenbank %dboverwrite% an ... echo create database %dboverwrite% | mysql %dbparams% echo rc=%ERRORLEVEL% echo. ) dir "%dirBackup%\%dumpfile%" >nul 2>&1 && ( TITLE restore - %about% echo --- Stelle Datenbank %dbname% wieder her... if "%dbname%"=="" echo Es wird die komplette DB wiederhergestellt. echo DB=%dboverwrite% echo Backup=%dumpfile% gzip -dc "%dirBackup%\%dumpfile%" | mysql %dbparams% %dboverwrite% echo rc=%ERRORLEVEL% ) || echo FEHLER: Dateiname des Backups nicht gefunden. :end TITLE fertig - %about% echo. echo --- Fertig - schliesse in 10 Sek. ping -n 11 localhost >nul rem ======================================================================