Da ich in letzter Zeit immer öfter mit Kommandozeilen-Scripting konfrontiert werde, erstelle ich diesen Artikel als “Cheat-Sheet”, dass sich ständig erweitern soll.
Eine einfache Mirror-Sicherung per Robocopy auf eine UNC-Freigabe.
Als erster Parameter wird ein Unterverzeichnis übergeben (01-Montag, 03-Mittwoch, etc.), in das das Script die jeweilige Sicherung schreibt.
Wird ein zweiter Parameter angegeben (egal welcher) wird – z.B. für einen speziellen Wochentag – eine zusätzliche Sicherung gefahren.
1 2 3 4 5 6 7 8 9 | REM Kopiervorgang mit Parametern für Werktag-Ordner REM Aufruf mit script.bat 01-Montag (xyz), script.bat 02-Dienstag (xyz) robocopy.exe "C:\Ressourcen\dir1" \\192.168.102.100\docbkp\%1\dir1 /MIR robocopy.exe "C:\Ressourcen\dir2" \\192.168.102.100\docbkp\%1\dir2 /MIR REM Wenn kein zweiter Parameter angegeben wurde, spring zum Ende if %2!==! goto ende robocopy.exe "C:\Ressourcen\dir3" \\192.168.102.100\docbkp\%1\dir3 /MIR :ende |
Netzwerk-Drucker per con2prt.exe über CMD-Script verbinden
Verbindet einen freigegebenen Netzwerk-Drucker am Client per UNC-Pfad
1 2 3 4 5 6 7 8 9 | REM con2prt.exe sollte am besten im NETLOGON des DC's liegen REM Download con2prt.exe: http://www.awesomeit.de/wp-content/uploads/2012/01/con2prt.exe REM Alle lokalen Netzwerkdrucker löschen \\dcsrv01\netlogon\con2prt.exe /f REM Drucker verbinden \\dcsrv01\netlogon\con2prt.exe /c \\dcsrv01\Drucker1 REM Drucker als Standard-Drucker verbinden \\dcsrv01\netlogon\con2prt.exe /cd \\dcsrv01\Drucker1 |
Backup einer Datei per Windows-FTP über CMD
Lädt eine Datei auf einen angegebenen FTP-Server.
1 2 3 4 5 6 7 8 | echo user ftpuser> ftpcmd.dat echo password>> ftpcmd.dat echo bin>> ftpcmd.dat echo cd backup>> ftpcmd.dat echo put www.zip>> ftpcmd.dat echo quit>> ftpcmd.dat ftp -n -s:ftpcmd.dat serveradresse.de del ftpcmd.dat |
Backup von MySQL-Datenbanken
Sichert alle MySQL-Datenbanken auf einem Windows-Server in eine einzige *.sql-Datei.
Die Datei trägt jeweils das aktuelle Datum im Namen, also z.B.: 2012-05-04_mysql_all.sql.
1 2 3 4 5 6 7 8 9 10 11 | @echo off set dt=%date:~6,4%-%date:~3,2%-%date:~0,2% set tmp=Y:\Backup cd "c:\data\services\mysql\bin" mysqldump.exe --opt --user=root --password=PASSWORT --all-databases > "%tmp%\%dt%_mysql_all.sql" REM Zusätzlich lässt sich die Datei auch packen. 7-Zip vorausgesetzt: cd "C:\Program Files (x86)\7Zip" 7za.exe a "%tmp%\%dt%_www.zip" "%tmp%\%dt%_mysql_all.sql" del %tmp%\%dt%_mysql_all.sql |


