Autor Thema: Archivierung Rückwärts  (Gelesen 2596 mal)

Offline HarryB

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 521
  • Geschlecht: Männlich
Archivierung Rückwärts
« am: 26.09.08 - 11:00:13 »
Hallo zusammen,

wir haben für verschiedene Kunden die Mailfilearchivierung aktiviert. Leider hat der IT-Verantwortliche beim Kunden das nicht so genau mit allen, insbesondere den GFs abgesprochen. Nun habe ich eine Anforderung eines GF das Ganze Rückgängig zu machen.

Gibt es ein fertiges Script oder Tool, was mir dabei helfen kann?

Vielen Dank und viele Grüße
Harry
« Letzte Änderung: 26.09.08 - 14:45:51 von HarryB »
Harald "HarryB" Börger

2 x 7.0.2FP1 auf AIX (Cluster)
1 x 7.0.2FP2 auf AIX
1 x 6.5.5 auf AIX
4 x 7.02.FP2 auf WIN

Clients: 7.0.2

Driri

  • Gast
Re: Archivierung Rückwärts
« Antwort #1 am: 26.09.08 - 11:14:21 »
Trag doch einfach in der Archivdatenbank die Maildatenbank als Archiv ein und laß die Archivierung von dort aus laufen. Würde ich aber vorher mal an unkritischen Datenbanken testen  ;)

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: Archivierung Rückwärts
« Antwort #2 am: 26.09.08 - 11:16:34 »
Hallo,

wahrscheinlich kann man die Archivdatenbank selbst wieder in die Originaldatenbank zurückarchivieren. Also die Archivdatenbank des Archivs ist die Originaldatenbank. Müsste eigentlich gehen, hab ich aber noch nicht probiert, also erst einmal mit einer Testdatenbank versuchen.

Wenn das nichts bringt, hab ich vor ein paar Jahren mal eine Funktion geschrieben, mit der Dokumente aus einer Datenbank in eine andere Datenbank kopiert werden und dabei die Dokumente wieder in die richtigen Ordner geschoben werden. Habs schon lange nicht mehr gemacht, aber sollte immer noch funkionieren.

Code
' ************************************************************************************
' Funktion:	CopyDatabaseDocs, CopyDatabaseDocsUI
' Parameter:	sourceDB			Quelldatenbank
'			targetDB			Zieldatenbank
' Rückgabe:	-
'
' Bedeutung:
' ==========
' Mit dieser Funkion werden alle Dokumente aus einer Datenbank in eine andere
' Datenbank kopiert. Hierbei werden die Dokumente in der Zieldatenbank wieder in 
' genau die gleichen Ordner geschoben.
' ************************************************************************************
Sub CopyDatabaseDocs(sourceDB As NotesDatabase, targetDB As NotesDatabase)
	Dim	session				As New NotesSession
	Dim	sourceFolder			As NotesView				' Ordner (und Ansichten) in der Quelle
	Dim	sourceDocs			As NotesDocumentCollection	' Alle Doklumente der Quelle
	Dim	sourceDoc				As NotesDocument			' Aktuelle Kopierdokument in der Quelle
	Dim	targetDocs			As NotesDocumentCollection	' Alle Dokumente für einen Ordner
	Dim	targetDocList			List As NotesDocument		' Alle kopierten Dokumente mit NoteID-Index
	Dim	i					As Long
	Dim	n					As Long
	
	If (sourceDB Is Nothing)  Then Msgbox "Die Quelldatenbank konnte nicht geöffnet werden!", 16, "Fehler": Exit Sub
	If (targetDB Is Nothing)  Then Msgbox "Die Zieldatenbank konnte nicht geöffnet werden!",  16, "Fehler": Exit Sub
	If (Not(sourceDB.IsOpen)) Then Msgbox "Die Quelldatenbank konnte nicht geöffnet werden!", 16, "Fehler": Exit Sub
	If (Not(targetDB.IsOpen)) Then Msgbox "Die Zieldatenbank konnte nicht geöffnet werden!",  16, "Fehler": Exit Sub
	
	' ===============================================================================
	' 1. Alle Dokumente kopieren und Targetliste erstellen
	'    On Error ist notwendig, weil Papierkorbdokumente nicht kopiert werden
	' ===============================================================================
	On Error Resume Next
	Set	sourceDocs			= sourceDB.AllDocuments
	Set	sourceDoc				= sourceDocs.GetFirstDocument()
	n						= sourceDocs.Count
	While (Not(sourceDoc Is Nothing))
		i					= i + 1
		Print "Kopiere Dokument " & i & " / " & n
		Set targetDocList(sourceDoc.NoteID) = sourceDoc.CopyToDatabase(targetDB)
		
		Set sourceDoc			= sourceDocs.GetNextDocument(sourceDoc)
	Wend
	
	' ===============================================================================
	' 2. Alle Ordner durchlaufen und mit Targetliste die Dokumente verschieben
	' ===============================================================================
	n						= Ubound(sourceDB.Views)
	i						= 0
	Forall folder In sourceDB.Views
		i					= i + 1
		Set sourceFolder		= folder
		
		If (sourceFolder.IsFolder) Then
			Print "Aktualisiere Order " & i & " / " & n & ": " & sourceFolder.Name
			Set	targetDocs	= targetDB.Search("@False", Nothing, 0)
			Set	sourceDoc		= sourceFolder.GetFirstDocument()
			While (Not(sourceDoc Is Nothing))
				Call targetDocs.AddDocument(targetDocList(sourceDoc.NoteID))
				
				Set sourceDoc	= sourceFolder.GetNextDocument(sourceDoc)
			Wend
			Call targetDocs.PutAllInFolder(sourceFolder.Name, True)
		End If
	End Forall
End Sub

Ist wieder mal das berüchtigte "On Error Resume Next" drin, aber vielleicht hilt Dir das ja. Kannst den Code ja entsprechend verändern

Gruß,

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: Archivierung Rückwärts
« Antwort #3 am: 26.09.08 - 11:18:20 »
Er war einsam, aber schneller...

Gleiche Idee, ein paar Sekunden zu spät ;)
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline HarryB

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 521
  • Geschlecht: Männlich
Re: Archivierung Rückwärts
« Antwort #4 am: 26.09.08 - 11:23:41 »
Danke, Ingo und Joachim.

Die Idee, die Quell- und Zieldatenbank zu vertauschen, hatte ich auch, war mich aber nicht sicher, ob das zielführend ist. Das müsste ich wirklich mal testen. Allerdings ist das nicht ganz so einfach, da die Archivierung per Policy gesetzt wird und die Archiveinstellungen gesperrt sind.

Viele Grüße
Harry

Harald "HarryB" Börger

2 x 7.0.2FP1 auf AIX (Cluster)
1 x 7.0.2FP2 auf AIX
1 x 6.5.5 auf AIX
4 x 7.02.FP2 auf WIN

Clients: 7.0.2

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: Archivierung Rückwärts
« Antwort #5 am: 26.09.08 - 11:42:09 »
Hi,

dann ist die Version mit der Funktion wahrscheinlich am einfachsten. Du kannst die Funktion in einen Button einbinden und den Anwendern als Mail schicken. Die können die Funktion dann manuell ausführen, weil die Archive ja höchstwahrscheinlich lokal liegen.

Gruß,

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline Jens_1

  • Senior Mitglied
  • ****
  • Beiträge: 440
  • Geschlecht: Männlich
Der Schuss geht nach hinten los!!!!
« Antwort #6 am: 26.09.08 - 13:50:12 »
Vorsicht!

Die Idee ist den Archivierungsagenten zu benutzen ist sehr gut - ich mache das genauso.
Aber wenn ich der Quelldatenbank noch die Löschrümpfe vorhanden sind dann werden die Dokumente sang- und klanglos gelöscht.
Und da sich das so anhört, als ob das erst vior wenigen Tagen genmacht wurde würde ich erstmal die Löschrümpfe aus der Datenbank entfernen!

Gruß und schönes WE!
Jens
CLP Domino R5 System Administrator
CLP IBM Lotus Domino 6 System Administrator
CLP IBM Lotus Domino 7 System Administrator
IBM Certified System Administrator - Lotus Notes and Domino 8

Offline HarryB

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 521
  • Geschlecht: Männlich
Re: Archivierung Rückwärts
« Antwort #7 am: 26.09.08 - 14:38:05 »
Danke für den Hinweis, Jens. Wir haben zwar eine Datensicherung, aber die muss man nicht in Anspruch nehmen wollen, weil man dumm ist.

Viele Grüße
Harry
Harald "HarryB" Börger

2 x 7.0.2FP1 auf AIX (Cluster)
1 x 7.0.2FP2 auf AIX
1 x 6.5.5 auf AIX
4 x 7.02.FP2 auf WIN

Clients: 7.0.2

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: Archivierung Rückwärts
« Antwort #8 am: 26.09.08 - 14:39:33 »
Ich glaube, dass die Lösung mit der Archivierung des Archivs nur für einzelne Dateien sinnvoll ist, denn die Archive liegen ja in der Regel lokal und so müsste man praktisch an jeden Rechner gehen.

Das kommte jetzt natürlich auf das Unternehmen an. Bei 10 Usern mag das ja noch machbar sein, aber bei 5000 Clients hat man da eine Menge zu tun... ;D

Und den Benutzern zu erklären, wie sie das machen sollen, dürfte auch nicht unproblematisch sein. Also ich würde die Funktion mit kopierten Dokumenten vorziehen, auch wenn die dann neue Unique-IDs bekommen. Es ist alles wieder da und an der richtigen Stelle.

Vielleicht kann uns ja Harry dann mal sagen, wie er es letztendlich gelöst hat. Würde mich auch interessieren.

Gruß,

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline HarryB

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 521
  • Geschlecht: Männlich
Re: Archivierung Rückwärts
« Antwort #9 am: 26.09.08 - 14:47:37 »
Ich glaube, dass die Lösung mit der Archivierung des Archivs nur für einzelne Dateien sinnvoll ist, denn die Archive liegen ja in der Regel lokal und so müsste man praktisch an jeden Rechner gehen.
Bei uns liegen die Archive auf einem Archiv-Server. ...und es geht auch nur um einen einzigen speziellen Benutzer. ;)

Vielleicht kann uns ja Harry dann mal sagen, wie er es letztendlich gelöst hat. Würde mich auch interessieren.
Es ist noch nicht zu 100% sicher, dass ich das umsetzen muss. Aber wenn, werde ich dein Skript nehmen. :)

Viele Grüße
Harry
Harald "HarryB" Börger

2 x 7.0.2FP1 auf AIX (Cluster)
1 x 7.0.2FP2 auf AIX
1 x 6.5.5 auf AIX
4 x 7.02.FP2 auf WIN

Clients: 7.0.2

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz