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

Logon Script für Backup von .pst Dateien

Frage Entwicklung Batch & Shell

Mitglied: eject86

eject86 (Level 1) - Jetzt verbinden

09.10.2007, aktualisiert 01.11.2007, 6197 Aufrufe, 11 Kommentare

Hallo miteinander

Erstmals grosses Kompliment an dieses Forum. Die Beiträge hier haben mir schon des Öfteren aus de Patsche geholfen!;)

Nun jedoch zu meinem Problem:

Wir verwenden in unserer Firma einen Microsoft Exchange Server 2003 der jetzt jedoch mit der Zeit langsam aber sicher zu voll wurde. Aus diesem Grund haben einige User ihre Mails archiviert und lokal abgespeichert. Da dies jedoch keinesfalls eine endgültige Lösung sein kann und uns bei einem Ausfall der lokalen HDs keine Sicherheit bietet, deaktivierten wir die AutoArchivierung für die User. Das Ziel ist es jetzt mit einer externen Software Microsoft Exchange, was den Speicherbedarf betrifft, einigermassen unter Kontrolle zu bringen. Bevor wir dies jedoch machen, möchte ich die lokal gespeicherten .pst Dateien auf einem NAS Laufwerk, welches jede Woche gesichert wird, speichern.
Das Ganze möchte ich mit einem Logon-Script realisieren. Da ich jedoch noch nicht wirklich viel Erfahrung damit habe, wollte ich um etwas Hilfe betteln!;)

Das Script müsste folgendermassen ablaufen:

1. Prüfen ob es auf dem NAS im Ordner des Benutzers ein File mit dem Namen „Finish“ hat.
2. Wenn es dieses File hat, das Script beenden. Wenn nicht --> Schritt 3
3. Erstellen eines Ordners mit dem Namen des Benutzers auf dem NAS
4. Die lokale Festplatte nach .pst Files durchsuchen
5. Die gefundenen Dateien in den neu erstellten Ordner auf dem NAS kopieren
6. Nach dem Kopieren eine Datei im gleichen Ordner erstellen mit dem Namen „Finish“
7. In die Datei „Finish“ die Zeit und das Datum schreiben
8. End

Dieses Script würde ich danach ca. einen Monat laufen lassen, bis wir von allen Usern einen Ordner auf dem NAS besitzen.

Ist dieses Vorgehen vertretbar oder gibt es da bessere Lösungen?
Könnt ihr mir helfen ein solches Script zu schreiben?

Hoffe ich habe genügend Informationen gegeben, sonst bitte einfach fragen.

Danke schon mal zum Voraus!
Mitglied: 6741
09.10.2007 um 16:54 Uhr
hi ...

wenn du im Logon Script erst die Festplatte nach einer *.pst suchst, wann soll der User denn arbeiten können? Das kann Minuten dauern. Mal als Überlegung.

gruß
Bitte warten ..
Mitglied: eject86
09.10.2007 um 17:03 Uhr
Danke für die schnelle Antwort!

Ja das habe ich mir natürlich auch überlegt. Daher würde ich zuerst ein Rundschreiben machen und die Leute darauf aufmerksam machen, dass das Starten beim nächsten Mal etwas länger dauern könnte!

Was man sich natürlich noch überlegen könnte ist, dem Benutzer die Möglichkeit zu geben den Vorgang in einem gewissen Zeitraum noch abzubrechen.
Aber das dieses Script ja nur einmal komplett durchgeführt werden müsste, sollte dies für den Benutzer noch einigermassen in Ordnung sein.
Bitte warten ..
Mitglied: 6741
09.10.2007 um 17:34 Uhr
erzeuge eine copy.bat diese würde ich zur Pause laufen lassen Mittag oder in der Frühstückspause.


if exist \\server\freigabe\%usename%\finish%date%.* than goto copyend

xcopy C:\*.pst \\server\freigabe\%username%\ /E /Y

print \\server\freigabe\%username%\finish%date%.txt

goto copy end


:copy end

ende

der print Befehlt schreibt die Datei mit dem Datum so kann sichergestellt sein das min am Tag der Befehl ausgeführt worden ist. Xcopy sucht alle Verzeichnisse ( /E )nach *.pst und überschreibt ( /Y ) das Ziel !

teste es mal ...
Bitte warten ..
Mitglied: bastla
09.10.2007 um 17:58 Uhr
Hallo eject86 und firewalldevil!

Nur als Anmerkung: Der "xcopy"-Schalter "/E" sollte besser durch "/S" ersetzt werden, weil ansonsten die gesamte Ordnerstruktur von C: kopiert würde ...

Grüße
bastla
Bitte warten ..
Mitglied: 6741
09.10.2007 um 18:48 Uhr
hi bastla...

ich habe heute den "effekt" ausversehen gehabt. Da wurden nur alle Dateien text*.txt kopiert und aus allen Unterverzeichnissen. War ungewollt, aber würde hier nutzen. Sprich ...

xcopy \\server\freigabe\text*.txt c:\ordner ....

auf dem Server wurde der komplette Ordner "freigabe" durchsucht mit allen unterordnern ... so wie eject86 das mit der C: Platte möchte.

liege ich so falsch?
Bitte warten ..
Mitglied: bastla
09.10.2007 um 19:20 Uhr
@6741

auf dem Server wurde der komplette Ordner "freigabe" durchsucht mit allen unterordnern ...
Das ist genau das, was "/S" macht.

Der Schalter "/E" dient dazu, eine gesamte Ordnerstruktur inkl leerer Ordner zu kopieren. "/S" erstellt einen Zielordner nur dann, wenn dieser auch einen Inhalt bekommt (Datei oder Unterordner).

Was hattest Du eigentlich mit
01.
print \\server\freigabe\%username%\finish%date%.txt
vor? Um eine Kennung für "Daten dieses Users wurden bereits kopiert" zu setzen, würde der Befehl eher
01.
echo %date%_%time%>\\server\freigabe\%username%\finish.txt
lauten.
@eject86

Der gesamte Batch könnte dann etwa so aussehen:
01.
@echo off 
02.
if exist \\server\freigabe\%username%\finish.txt goto :eof 
03.
if not exist \\server\freigabe\%username% md \\server\freigabe\%username% 
04.
echo Sicherung pst-Datei(en) ... 
05.
xcopy C:\*.pst \\server\freigabe\%username%\ /S >nul 2>nul 
06.
echo %date%_%time%>\\server\freigabe\%username%\finish.txt
Das "/Y" aus firewalldevil's Vorschlag sollte eigentlich nicht nötig sein, da ja ohnehin nur einmal kopiert werden soll und es daher eigentlich noch keine Dateien im Zielordner (und auch diesen selbst nicht) geben dürfte - es sei denn, User hätten Ihre pst-Dateien auf mehreren Rechnern lokal abgelegt. Dann wäre es aber ohnehin auch sinnvoller, vorhandene Sicherungsdateien nicht einfach zu überschreiben, sondern eher beim Speichern zB noch den Rechnernamen hinzuzufügen.

Grüße
bastla

[Edit] Da nur von "einigen Usern" die Rede war, kann nicht davon ausgegangen werden, dass jeder User lokale pst-Dateien zu kopieren hat - daher besser gleich den Ordner vorweg erstellen (und nicht erst durch "xcopy"), damit die "finish.txt" sicher in einen bereits bestehenden Ordner geschrieben werden kann. Den Batch habe ich entsprechend geändert. [/Edit]
Bitte warten ..
Mitglied: eject86
19.10.2007 um 15:53 Uhr
Hallo!

Vielen Dank für die diversen Antworten und sorry, dass ich erst jetzt antworte. War die letzte Woche leider abwesend.

Ich habe das folgende Script mal getestet:


@echo off
Title Sicherung archiv.pst
color C
echo ACHTUNG! Ihr kompletter Computer wird nach PST-Files durchsucht. Dies kann einige Minuten dauern.
pause
if exist \\blabla\outl_archiv\%computername%\finish.txt goto :eof
if not exist \\blabla\outl_archiv\%computername% md \\blabla\outl_archiv\%computername%
echo Sicherung pst-Datei(en) ...
xcopy C:\*.pst \\blabla\outl_archiv\%computername%\ /S >nul 2>nul
echo %date%_%time%>\\blabla\outl_archiv\%computername%\finish.txt
echo Die Sicherung ihrer PST-Files wurde erfolgreich beendet.
pause


Leider werden beim Durchsuchen der HD nicht alle .pst Files gesichert.
Ich habe z.B. im Standardordner von Outlook (C:\Dokumente und Einstellungen\Benutzer\Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook) eine .pst Datei die nicht gefunden wird.
Warum ist dies so? Durchsucht man mit dem Befehl "xcopy" die versteckten Ordner nicht oder an was könnte das liegen?

Vielen Dank für eure Antworten!

Grüsse
eject86
Bitte warten ..
Mitglied: estranged
19.10.2007 um 16:33 Uhr
Der Ordner "Lokale Einstellungen" bzw. "Local Settings" ist versteckt, deswegen brauchst du noch den Schalter "/h" bei xcopy.
xcopy "%userprofile%\*.pst" c:\backup\ /s /h
funktioniert bei mir sehr gut.
Bitte warten ..
Mitglied: eject86
30.10.2007 um 11:07 Uhr
Vielen Dank!
Das Ganze funktioniert jetzt relativ gut. Nur ein Problem habe ich noch:

- Wie kann ich nur die .pst Dateien in einen Ordner kopieren ohne die gesamte Verzeichnisstruktur? Ich möchte alle gesicherten Files nur in einem Ordner haben und nicht in verschiedenen Verzeichnissen.

Was muss ich an diesem Befehl ändern: "xcopy C:\*.pst \\netzerk\%computername%\ /S /h >nul 2>nul"
Bitte warten ..
Mitglied: bastla
30.10.2007 um 13:21 Uhr
Hallo eject86!

Wenn Du Dir sicher bist, dass es keine gleichnamigen .pst-Files auf einem Rechner gibt (wodurch die erste Kopie durch eine spätere Kopie automatisch überschrieben würde), kannst Du es so versuchen:
01.
for /f "delims=" %%i in ('dir C:\*.pst /s /b /a-d 2>nul') do copy "%%i" "\\netzerk\%computername%\%%~nxi">nul
Alternativ dazu wäre vielleicht eher doch zu überlegen, bis Du relativ sicher bist, alle relevanten Dateien "erwischt" zu haben, bei der bisherigen Variante zu bleiben und erst danach die einzelnen Dateien zusammenzufassen. Der Vorteil wäre IMHO, dass Du die Herkunft der Daten (anhand der Ordnerstruktur) besser nachvollziehen kannst und das Zusammenfassen auch interaktiv (im einfachsten Fall sogar über die Windows-Suche) erfolgen könnte (da eben nur ein Arbeitsgang für sämtliche Dateien / User / Computer), wodurch Du auch effizienter auf das oben angesprochene Problem gleichnamiger, aber in verschiedenen Ordnern gespeicherter, Dateien reagieren könntest.

Grüße
bastla
Bitte warten ..
Mitglied: eject86
01.11.2007 um 14:18 Uhr
Ciao bastla

Stimmt! Du hast vollkommen recht. Ich werde die Daten erst nach der Sicherung bearbeiten.
Vielen Dank für eure Antworten!

Gruss
eject86
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Outlook & Mail
Outlook 2010 zeigt Übermittlungsfehler und erstellt mehrere PST-Dateien

Frage von thepatsch zum Thema Outlook & Mail ...

Microsoft
Windows 10 logon script: alle Apps löschen (3)

Frage von thomasreischer zum Thema Microsoft ...

Windows 7
gelöst Verzeichnisse per Script erstellen und Dateien dort hinkopieren (2)

Frage von peter58ha zum Thema Windows 7 ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...