Backup: 7-zip und batch dateien für ein automatisiertes Backup

Ab und zu schaut man sich nach besseren Backup Programmen um. Ein Blogeintrag von Caschy hat mich dazu animiert. Da alle „normalen“ Backupprogramme das sichern ganzer Laufwerke nicht zulassen, habe ich mich auf die Suche nach etwas schlauerem gemacht. Die Idee war ein Pendant zum bash-Backupscript von mir zu finden ohne die Welt gleich neu erfinden zu müssen (sprich selber schreiben).

Auf Loogans Site wurde ich fündig.

Dieses Backup kann full oder auch incrementelle Backups erstellen.

Das Script besteht aus 7 Teilen:

  • Backup.cmd, ist das Haupscript das die Backup Kommandos ausführt
  • Backupset.txt, eine Liste der Ordner und Files die gesichert werden sollen
  • CurrentSet.txt, hier steht der Pfad zum aktuellen FullBackup. Dieser wird für das incrementelle Backup benötigt
  • FullBackup.cmd, zum starten des FullBackup
  • FullBackupSettings.ini, alle Einstellungen des FullBackup
  • IncrementalBackup.cmd, zum starten des incrementellen Backups
  • IncrementalBackupSettings.ini, alle Einstellungen des incrementellen Backups

Das Scriptgebilde kann natürlich auch gestrafft werden. Durch den bestehenden Aufbau lassen sich die Einstellungen relativ einfach ändern und zur Ausführung des Scripts reicht ein ExecuteScript. Im folgenden sind hier alle Scripts aufgeführt:

Backup.cmd


@echo off

echo TRACE: Start

IF EXIST %1 GOTO Begin

echo Settings file does not exist
GOTO End

:Begin

echo TRACE: Read settings
for /f "eol=# tokens=1,2 delims==" %%i in (%1) do SET %%i=%%j

set varNewBackupSet=%varBackupLocation%\%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%-%TIME:~0,2%-%TIME:~3,2%-backup.%varFormat%

IF "%varBackupType%"=="full" GOTO CreateNewSet

echo TRACE: Load existing set
for /F %%i in (CurrentSet.txt) do set varOldBackupSet=%%i

IF EXIST "%varOldBackupSet%" GOTO ExecuteIncremental

echo Backup set does not exist!
GOTO End

:CreateNewSet
echo TRACE: Create new set
echo %varNewBackupSet% > CurrentSet.txt

:ExecuteFull
echo TRACE: Execute Full backup
"%var7zipPath%\7z" a -t%varFormat% "%varNewBackupSet%" @"%varFileList%"
GOTO End

:ExecuteIncremental
echo TRACE: Execute Incremental backup
"%var7zipPath%\7z" u -u- -u!"%varNewBackupSet%" -t%varFormat% "%varOldBackupSet%" @"%varFileList%"

:End
echo TRACE: Finished
pause

Das Backup Script lädt die Einstellungen aus dem Parameter 1, macht ein paar Prüfungen und startet danach 7Zip zum Backup. In den Konfigurations-Dateien wird definiert was wie und wo.

BackupSet.txt


D:\Guild Wars\Screens
D:\camma\Documents
D:\camma\Favorites
C:\Users\camma\Desktop
D:\Logaan\Saved Games
C:\Users\camma\AppData\Local\2DBoy
C:\Users\camma\AppData\Local\Ascaron Entertainment
C:\Users\camma\AppData\Local\id Software
C:\Users\camma\AppData\Local\Ironclad Games
C:\Users\camma\AppData\Local\Rockstar Games
C:\Users\camma\AppData\Roaming\EditPlus 3
C:\Users\camma\AppData\Roaming\FileZilla
C:\Users\camma\AppData\Roaming\Free Download Manager
C:\Users\camma\AppData\Roaming\Xfire

Dies Dateiliste wird an 7Zip übergeben. Einzige Einschränkung ist hier, dass der gleiche Ordner oder die gleiche Datei nicht doppelt aufgeführt werden dürfen. Wenn mehrere Ordner an verschiedenen Stellen gleich heissen, kann dies auch durch mehrere Scripts gelöst werden, welche gleichnamige Ordner auf verschiedene BackupSets verteilt.

CurrentSet.txt


D:\2009-08-15-17-16-backup.zip

Hier ist der Pfad zum zuletzt angefertigten FullBackup enthalten. Die incrementellen Backups lesen diesen aus uns benützen das FullBackup zum Updaten der Dateienlisten die gesichert werden müssen.

FullBackup.cmd


@echo off
Backup D:\camma\Documents\Tools\7ZipBackup\FullBackupSettings.ini

Dieses startet das Hauptscript mit den entsprechenden Einstellungen. Falls mehrere Sets mit verschiedenen Einstellungen ausgeführt werden sollen, muss folgender Code benutzt werden:


@echo off
call Backup D:\camma\Documents\Tools\7ZipBackup\FullBackupSettings.ini
call Backup D:\camma\Documents\Tools\7ZipBackup\FullBackupSettings2.ini
call Backup D:\camma\Documents\Tools\7ZipBackup\FullBackupSettings3.ini

FullBackupSettings.ini


# File path to the 7-zip executables
var7zipPath=C:\Program Files\7-Zip

# Backup format
varFormat=zip

# Target location for the backup
varBackupLocation=D:

# List file
varFileList=D:\camma\Documents\Tools\7ZipBackup\BackupSet.txt

# Mode
varMode=a

# Type
varBackupType=full

Die Konfigurationsdatei wird im Hauptscript eingelesen. Es enthält den Modus des Backups, die Pfad angaben sowie Einstellungen von 7Zip.

IncrementalBackup.cmd

@echo off
Backup D:\camma\Documents\Tools\7ZipBackup\IncrementalBackupSettings.ini

Analog der FullBackup Konfiguration für das incrementelle Backup

IncrementalBackupSettings.ini

# File path to the 7-zip executables
var7zipPath=C:\Program Files\7-Zip

# Backup format
varFormat=zip

# Target location for the backup
varBackupLocation=D:

# List file
varFileList=D:\camma\Documents\Tools\7ZipBackup\BackupSet.txt

# Mode
varMode=u

# Type
varBackupType=incremental

Viel Spass beim testen und benutzen des Scripts.

WinToFlash – Windows CDs auf einem USB Stick speichern

Mit der Software WinToFlash gibt es ein sehr einfach zu bedienendes Werkzeug um einen boot-fähigen USB-Stick aus einer Windows Installations-CD zu erstellen. Der normalerweise relativ umfangreiche Prozess wird durch dieses Programm sehr vereinfacht.

WinToFlash

WinToFlash

Zum erstellen des boot-fähigen USB-Stick ist ein mit ausreichender Kapazität versehener USB Stick sowie die Windows-CD Voraussetzung. In WinToFlash müssen danach nur noch die Pfade zum USB-Stick sowie dem CD/DVD Laufwerk angegeben werden. Danach kopiert WinToFlash alle Dateien auf den USB-Stick. Der Transfer klappt auch mit Installationsdateien die nicht auf einer CD sondern bereits auf dem Computer in einem Ordner liegen.

Es lassen sich diverse weitere Setup-Parameter festlegen welche den Installationsprozess steuern. Mit WinToFlash kann Windows damit einfach auf Netbooks oder anderen PCs installiert werden. Um vom USB-Stick booten zu können, muss die Boot-Reihenfolge entsprechend im Bios angepasst werden.

Hier gibt’s den Download von WinToFlash

Mac: Windows: Werbeblocker mit der hosts Datei

Neben den üblichen Plugins für die verschiedenen Browser um Werbungen auf Webseiten zu unterdrücken, gibt es die Möglichkeit verschiedene Werbeanbieter in der hosts Datei zu sperren. Dazu wird die Adresse des Werbeanbieters in der hosts Datei auf den lokalen Rechner umgebogen.

Im weiteren kann man da durch auch Programme vor dem nach Hause telefonieren abhalten.

Für Mac hat MacNotes.de dazu heute einen Workshop veröffentlicht.

Unter Windows geht das ganze genau gleich. Einzig ist die hosts Datei hier im Ordner c:\windows\system32\driver\etc\hosts zu finden.

Eine Liste mit Adressen die gesperrt werden können, gibt es hier:
http://www.mvps.org/winhelp2002/hosts.txt

Werte ohne Formeln in Excel Tabelle kopieren

Wie kann ich aus einer Excel Tabelle die Werte ohne die dahinterliegenden Formeln kopieren?

Vorgehen:excel_werte_kopieren

  1. Markiere die gewünschten Zellen und kopiere sie wie gewohnt mit Ctrl+C
  2. Wechsle nun in das neue Excel Sheet
  3. Klicke mit der rechten Maustaste auf die Zelle in die du die kopierten Zellen einfügen willst
  4. Wähle im Kontexmenü „Inhalte einfügen“
  5. In der erscheinenden Dialogbox muss die Option „Werte“ aktiviert werden.

Damit werden alle Werte ohne Formeln in die neue Exceltabelle übernommen.

Verzögerung Kennwortabfrage beim Bildschirmschoner

In Windows gibt es die Möglichkeit den Bildschirmschoner Passwort zu schützen. In der Registry kann eine Zeitdauer definiert werden in welcher der Passwortschutz nach Beginn des Bildschirmschoners aktiv wird.

Dadurch muss nicht immer das Passwort neu eingegeben werden, nur weil der Bildschirmschoner aktiv wurde.

Zum verlängern oder Verkürzen des Bildschirmschoner-Kennwort-Registrierungsintervall muss folgendes gemacht werden.

  • Klicke im Startmenü auf  „Ausführen“. Gib danach regedt32 ein und klicke auf OK.
  • Klicke auf den folgenden Unterschlüssel in der Registrierung:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
    Klicke im Menü Bearbeiten auf Neu, und gib dann auf Zeichenfolge ein.
    „ScreenSaverGracePeriod“ (ohne Anführungszeichen)
  • Mache einen Doppelklick auf ScreenSaverGracePeriod.
    Klicke unter der Überschrift Basis auf Dezimal ins Feld und gib eine Zahl ins Feld die den Wert für die Kennwort-Aktivierungsverzögerung mit Sekunden darstellt, ein.
  • Zwischen 0 und 2,147,483 (ca. 24 Tage) kann eine ganze beliebige Zahl eingegeben werden. Ein Wert von Null gibt keine Kennwort-Schutzverzögerung an.
  • Klicke auf OK, und beende dann den Registrierungseditor.

Excel Passwort entfernen

Vor kurzem hatte ich ein Excelsheet bei dem das Arbeitsblatt geschützt war. Da ich das Passwort nicht innert nützlicher Frist auftreiben konnte, habe ich nach einer schnelleren Lösung gesucht:

Excel Password Remover 2009

Der Excel Password Remover 2009 ist ein Plugin für Excel. Es installiert sich in Excel 2007 unter Add-Ins:
excelpwremover

Um das Passwort zu entfernen auf „Unprotect sheet“ klicken und danach bei der folgenden Passwort abfrage „Enter“ drücken. Nach einem kürzeren oder längeren Moment ist das Kennwort entfernt.