Für jeden Firefox gibt es einen eigenen Backup-Ordner, wie z.B. auf dem Screenshot zu erkennen ist. In diesem Ordner sind drei PS-Scripte und der Ordner Archiv
angelegt worden (der Rest wird mit den Scripten erzeugt).
Hinweis: Diesen habe ich hier auch schon in vorherigen Beiträgen gegeben, weil er so wichtig ist. In den PS-Scripten müssen immer die richtigen Pfade für alle
Aktionen eingetragen sein, deshalb sind sie auch nicht übertragbar, und müssen für jeden Backup-Ordner speziell angelegt werden.
Falsche Pfade können das Profil unbrauchbar machen, darüber sollte man sich im Klaren sein.
Trotzdem möchte ich einfach nicht mehr darauf verzichten.
Nun das erste Script 33p_sichern.ps1:
Damit wird der Profilordner im Backup-Ordner gelöscht und der aktuelle Profilordner des Fox wird dann hier wieder gesichert. Zusätzlich wird eine Log-Datei erstellt.
# überprüft, ob Profilordner vorhanden, und löscht diesen
if (Test-Path -Path "E:\BackupFirefox\Firefox33p\Profilordner") {
Remove-Item -Path "E:\BackupFirefox\Firefox33p\Profilordner" -Force -Recurse
}
# Pause 3 Sek.
Start-Sleep -s 3
# kopiert den aktuellen Profilordner in das vorgegebene Verzeichnis (-Recurse = mit allen Dateien und Subordnern)
Copy-Item -Path "B:\Firefox Test\Firefox33p\Profilordner" -Destination "E:\BackupFirefox\Firefox33p\Profilordner" -Recurse
# Pause 3 Sek.
Start-Sleep -s 3
# überprüft, ob Log-Datei namentlich vorhanden, vorherige log-Datei wird dann gelöscht
if (Test-Path -Path "E:\BackupFirefox\Firefox33p\Sicherung am.txt") {
Remove-Item -Path "E:\BackupFirefox\Firefox33p\Sicherung am.txt"
}
# Pause 3 Sek.
Start-Sleep -s 3
# neue log-Datei wird geschrieben (Sicherung am.txt)
# Pfad zum Ablegen der LogDatei
$LogPfad = "E:\BackupFirefox\Firefox33p"
# LogFile Prüfen und erstellen falls nicht vorhanden
if (!(Test-Path ("$LogPfad\$Datum" + "Sicherung am.txt")))
{
# Erstellen des LogFiles
$Logfile = (New-Item ("$LogPfad\$Datum" + "Sicherung am.txt") -ItemType File -Force).FullName
# Überschrift für das LogFile
Add-Content $Logfile ("Letzte Sicherung vom Profilordner am $(get-date -Format "dddd, dd. MMMM yyyy, HH:mm:ss") Uhr`n")
# Leerzeilen einfügen
Add-Content $Logfile "`n`n"
}
Alles anzeigen
Nun das zweite Script 33p_restore.ps1:
Es prüft, ob im Fox der Profilordner vorhanden ist, löscht diesen dann, und kopiert dann den Profilordner aus dem Backup-Ordner in den Fox zurück. Auch dazu wird eine
Log-Datei erstellt.
# überprüft, ob Profilordner vorhanden, und löscht diesen
if (Test-Path -Path "B:\Firefox Test\Firefox33p\Profilordner") {
Remove-Item -Path "B:\Firefox Test\Firefox33p\Profilordner" -Force -Recurse
}
# Pause 3 Sek.
Start-Sleep -s 3
Copy-Item -Path "E:\BackupFirefox\Firefox33p\Profilordner" -Destination "B:\Firefox Test\Firefox33p\Profilordner" -Recurse
# Pause 3 Sek.
Start-Sleep -s 3
# überprüft, ob Log-Datei namentlich vorhanden, vorherige log-Datei wird dann gelöscht
if (Test-Path -Path "E:\BackupFirefox\Firefox33p\Retour am.txt") {
Remove-Item -Path "E:\BackupFirefox\Firefox33p\Retour am.txt"
}
# Pause 3 Sek.
Start-Sleep -s 3
# neue log-Datei wird geschrieben (Retour am.txt)
# Pfad zum Ablegen der LogDatei
$LogPfad = "E:\BackupFirefox\Firefox33p"
# LogFile Prüfen und erstellen falls nicht vorhanden
if (!(Test-Path ("$LogPfad\$Datum" + "Retour am.txt")))
{
# Erstellen des LogFiles
$Logfile = (New-Item ("$LogPfad\$Datum" + "Retour am.txt") -ItemType File -Force).FullName
# Überschrift für das LogFile
Add-Content $Logfile ("In alten Zustand versetzt am $(get-date -Format "dddd, dd. MMMM yyyy, HH:mm:ss") Uhr`n")
# Leerzeilen einfügen
Add-Content $Logfile "`n`n"
}
Alles anzeigen
Das dritte Script 33p_sichern_Archiv.ps1:
Das Script vollzieht die Schritte des ersten Scriptes, und erstellt zusätzlich im Ordner Archiv ein Archiv des aktuellen Profils. Und als zweite Sicherung wird dann dieses Archiv in einen vorher erstellten Ordner (andere Partition) kopiert.
# überprüft, ob Profilordner vorhanden, und löscht diesen
if (Test-Path -Path "E:\BackupFirefox\Firefox33p\Profilordner") {
Remove-Item -Path "E:\BackupFirefox\Firefox33p\Profilordner" -Force -Recurse
}
# Pause 3 Sek.
Start-Sleep -s 3
# kopiert den aktuellen Profilordner in das vorgegebene Verzeichnis (-Recurse = mit allen Dateien und Subordnern)
Copy-Item -Path "B:\Firefox Test\Firefox33p\Profilordner" -Destination "E:\BackupFirefox\Firefox33p\Profilordner" -Recurse
# Pause 3 Sek.
Start-Sleep -s 3
# überprüft, ob Log-Datei namentlich vorhanden, vorherige log-Datei wird dann gelöscht
if (Test-Path -Path "E:\BackupFirefox\Firefox33p\Sicherung am.txt") {
Remove-Item -Path "E:\BackupFirefox\Firefox33p\Sicherung am.txt"
}
# Pause 3 Sek.
Start-Sleep -s 3
# neue log-Datei wird geschrieben (Sicherung am.txt)
# Pfad zum Ablegen der LogDatei
$LogPfad = "E:\BackupFirefox\Firefox33p"
# LogFile Prüfen und erstellen falls nicht vorhanden
if (!(Test-Path ("$LogPfad\$Datum" + "Sicherung am.txt")))
{
# Erstellen des LogFiles
$Logfile = (New-Item ("$LogPfad\$Datum" + "Sicherung am.txt") -ItemType File -Force).FullName
# Überschrift für das LogFile
Add-Content $Logfile ("Letzte Sicherung vom Profilordner am $(get-date -Format "dddd, dd. MMMM yyyy, HH:mm:ss") Uhr`n")
# Leerzeilen einfügen
Add-Content $Logfile "`n`n"
}
# Pause 3 Sek.
Start-Sleep -s 3
# prüft ob Ordner "Archiv" vorhanden ist / im Anschluss wird Zip-Datei in diesem Ordner erstellt (mit Datum/Zeit)
if (Test-Path -Path "E:\BackupFirefox\Firefox33p\Archiv") {
}
$date = Get-Date -Format "yyyy-MM-dd HH.mm"
Compress-Archive -Path "B:\Firefox Test\Firefox33p\Profilordner" -CompressionLevel Optimal -DestinationPath "E:\BackupFirefox\Firefox33p\Archiv\$date.zip"
# Pause 3 Sek.
Start-Sleep -s 3
# kopiert das zuvor erstellte Archiv in das vorgegebene Verzeichnis (-Recurse = mit allen Dateien und Subordnern)
Copy-Item -Path "E:\BackupFirefox\Firefox33p\Archiv\$date.zip" -Destination "B:\ArchiveFirefox\Firefox33p" -Recurse
Alles anzeigen
Dann befinden sich noch zwei PS-Scripte im Ordner Archiv.
Das erste Script 33p_Archiv_sichern.ps1 sichert nur den aktuellen Profilordner aus dem Fox hier als Archiv.
# prüft ob Ordner "Archiv" vorhanden ist / im Anschluss wird Zip-Datei in diesem Ordner erstellt (mit Datum/Zeit)
if (Test-Path -Path "E:\BackupFirefox\Firefox33p\Archiv") {
}
$date = Get-Date -Format "yyyy-MM-dd HH.mm"
Compress-Archive -Path "B:\Firefox Test\Firefox33p\Profilordner" -CompressionLevel Optimal -DestinationPath "E:\BackupFirefox\Firefox33p\Archiv\$date.zip"
Das zweite Script 33p_Archiv_restore.ps1 kopiert den Profilordner wieder zurück in den Fox. Dazu einfach ein Archiv entpacken lassen (immer im Ordner Archiv), dann das Script starten, und wenn der Restore-Vorgang abgeschlossen ist, dann wird der entpackte Profil-Ordner wieder gelöscht.
# Test der Voraussetzungen (Profilordner muss vorhanden sein - ist er es nicht, so wird das Script nach 8 Sek. beendet)
if (-not (Test-Path -Path "E:\BackupFirefox\Firefox33p\Archiv\Profilordner")) {
'Profilordner nicht gefunden ... Archiv erst entpacken ... Script wird vorerst beendet ...'
Start-Sleep -Seconds 8
Exit
}
# Pause 3 Sek.
Start-Sleep -s 3
# überprüft, ob Profilordner vorhanden, und löscht diesen
if (Test-Path -Path "B:\Firefox Test\Firefox33p\Profilordner") {
Remove-Item -Path "B:\Firefox Test\Firefox33p\Profilordner" -Force -Recurse
}
# Pause 3 Sek.
Start-Sleep -s 3
# kopiert den gesicherten Profilordner in das Firefox-Verzeichnis (-Recurse = mit allen Dateien und Subordnern)
Copy-Item -Path "E:\BackupFirefox\Firefox33p\Archiv\Profilordner" -Destination "B:\Firefox Test\Firefox33p\Profilordner" -Recurse
# Pause 3 Sek.
Start-Sleep -s 3
# nach kopieren wird Profilordner im Archiv wieder gelöscht
if (Test-Path -Path "E:\BackupFirefox\Firefox33p\Archiv\Profilordner") {
Remove-Item -Path "E:\BackupFirefox\Firefox33p\Archiv\Profilordner" -Force -Recurse
}
Alles anzeigen
Man kann also immer das auswählen, was gerade gefällt.