Sie könnten vor…
end timeout
…noch die Zeile…
display dialog "Exported!"
…einfügen.
Sie könnten vor…
end timeout
…noch die Zeile…
display dialog "Exported!"
…einfügen.
Nein ich suche etwas in der Art, Beispiel frei mit Psydo-Code (sorry, komme eher aus dem Shell-Scripting).
## start export database
if (export database is finished) then
start backup
fi
Danke.
ciao
Time Machine unterstützt leider kein AppleScript.
Ich habe mittlerweile einen gefunden um das Backup zu starten, dies ist möglich mit:
do shell script “tmutil startbackup”
ciao
mr_drlove
Hallo,
vielen Dank für das tolle script zum Export von Ordnern und Dateien. Für mich ist der Export mit Ordnern und Dateien neben dem DB-Backup ein zusätzlicher separater Backupvorgang, um (z.B. im Notfall) ein Restore unabhängig vom Betriebssystem und einer DT Installation durchführen zu können.
Ich wundere mich, warum es dafür kein “Bordscript” gibt.
Da ich jeweils das gesamte Archiv exportieren möchte, stellt sich die Frage, ob dies einfacher geht als alle einzelenen Gruppenordner in dem script benennen zu müssen?
Hier mein aktuelles script:
set myVolume to "/Volumes/DATABASE"
set mountedVolumes to every paragraph of (do shell script "mount | awk -F' on ' '{print $2}' | awk -F' \\\\(' '{print $1}'")
set shortDateString to short date string of (current date)
tell application id "DNtp"
try
set td_database to open database "/Volumes/test.dtBase2"
set this_database to current database
set this_path to path of this_database
set {od, AppleScript's text item delimiters} to {AppleScript's text item delimiters, "/"}
set this_name to the last text item of this_path
set AppleScript's text item delimiters to ""
if this_name ends with ".dtBase2" then set this_name to (characters 1 thru -9 of this_name) as string
set AV to "/Users/Desktop/test/" & shortDateString
set AppleScript's text item delimiters to od
set GP1 to get record at "/GP" in this_database
set GP2 to get record at "/GP" in this_database
set GP3 to get record at "/GP" in this_database
set GP4 to get record at "/GP" in this_database
set GP5 to get record at "/GP" in this_database
set GP6 to get record at "/GP" in this_database
set GP7 to get record at "/GP" in this_database
set GP8 to get record at "/GP" in this_database
set GP9 to get record at "/GP" in this_database
set GP10 to get record at "/GP" in this_database
set GP11 to get record at "//GP" in this_database
if myVolume is in mountedVolumes then
with timeout of 600 seconds
if not {((export record GP1 to AV) & (export record GP2 to AV) & (export record GP3 to AV) & (export record GP4 to AV) & (export record GP5 to AV) & (export record GP6 to AV) & (export record GP7 to AV) & (export record GP8 to AV) & (export record GP9 to AV) & (export record GP10 to AV) & (export record GP11 to AV))} then error "Export failed."
end timeout
else
-- do nothing
end if
end try
end tell
Kann mir jemand weiterhelfen? Das script habe ich mir bereits für mehrere Gruppenordner angepasst - es funktioniert prima - der Ansatz ist aber sicher “verbesserungswürdig” da einrichtungs- und pflegeintensiv.
VG
Thorsten
Guten Tag, ich würde dieses Thema gerne noch einmal aufgreifen. Leider habe ich nicht viel Erfahrung mit Skripten und finde es Schade, dass DT einen automatischen Export nicht als Bordmittel mit sich bringt.
Ich habe nun umgestellt auf DT3 Pro und bin eigentlich ganz zufrieden. Bei der Indexierung kam es bei mir allerdings öfter zu Datenverlusten. Mein Setup ist ein iMac, der eigentlich die Hauptarbeit macht und ein MacBook für unterwegs. Ich hatte Ordner auf meiner Diskstation indexiert. Wenn ich Dateien aber mit dem MacBook bearbeitet habe, dass waren aus dem Ordner plötzlich Dateien weg.
Naja, zum Glück bin ich ja ein Sicherungsfreund und konnte sie aus meiner Cloud Sicherung wiederherstellen.
Nun habe ich alle Dateien in DT importiert und in der DB liegen. Einen Sync mache ich per WebDav über meinen Server zu Hause. Das funktioniert alles sehr gut.
Allerdings würde ich nun gerne auf meinem iMac einen automatischen Export hinterlegen wollen, der alle Daten aus meinen DT Datenbanken exportiert und in einen Ordner auf der Diskstation legt. Wenn das nicht geht, dann auch gerne auf den iMac selbst und ich nutze Hazel zum verschieben.
Wie muss ich nun vorgehen? Könnt ihr mir bitte helfen?
Was für Dateien wurden denn konkret mit welchem Programm bearbeitet? Wurde der Name oder Ort geändert? Und hilft ein Aufruf von Ablage > Indizierte Objekte aktualisieren, d.h. werden dann die Dateien wieder hinzugefügt?
Nein, die Dateien waren komplett aus dem indexierten Ordner gelöscht. Ich hatte z. B. zu meinem aktuellen Projekt einen Ordner, den ich indexiert habe. Die Indexierung fand auf dem iMac statt. Danach wurden die Dateien über den DT Sync mit der WebDav-Datenbank abgeglichen. Die Dateien hatte ich somit auch auf dem MacBook. Soweit so gut.
Wenn ich dann aber z. B. eine Excel-Datei bearbeitet habe und diese abgespeichert, waren andere Dateien aus dem Ordner einfach weg. Also nicht die bearbeitete Datei selbst, sondern andere Dateien aus dem Ordner im Dateisystem.
Und passiert das denn auch, wenn die Synchronisierung einmal testweise deaktiviert wird auf beiden Geräten?
Das kann ich leider nicht mehr testen, ich habe die Datenbanken nun komplett neu aufgebaut und alles in DT selbst abgelegt. Das mit der Indexierung war mir leider zu unsicher. Ich hatte ja Glück, dass Synology beim Cloudsync anbietet, dass Dateien, die auf dem Server gelöscht werden nicht in der Cloud gelöscht werden.
Mein Ziel ist es eben, dass ich nun ein mehrfaches Backup habe, auf das ich mich verlassen will.
Also, Hauptanlaufpunkt soll DT sein. Dann aber ein Export der Dateien auf meine Diskstation. Hier ist dann ja eh schon eine doppelte Sicherung.
Zudem hat es den Vorteil, dass ich zumindest die privaten Daten dann auch mit meiner Frau teilen kann. Sie nutz nur Windows, da gibt es ja leider DT nicht. Ich würde es ihr dann aber so einrichten, dass sie über den Synology Drive auf die Daten zugreifen kann.
Moin,
auch ich habe hin und wieder Stress mit den indizieren Dateien… Habe aber noch keine reproduzierbares Problem herausfinden können.
Mal zu dem Script hier… Finde ich vom Ansatz nicht schlecht, aber ich würde mir ein Script wünschen, mit dem man in der Lage ist Gruppen/Ordner bzw. die enthaltenen Dateien zu extrahieren, aus der DB zu entfernen und den Ablageort automatisch zu indizieren.
Dann könnte man auch auf einfache Art und Weise besser “aufräumen” und die Größe der DB´s kleiner halten.
Das geht auch ohne Script, d.h. wenn Sie einen neuen, leeren Ordner indizieren und anschließend die gewünschte Objekte in DEVONthink 3 in die indizierte Gruppe verschieben, so werden diese automatisch in den indizierten, externen Ordner verschoben. D.h. aus der Datenbank in das Dateisystem.
Ansonsten sind evtl. die Skripte in diesem alten Thread hilfreich:
In den Skripten muss nur "com.devon-technologies.thinkpro2"
durch "DNtp"
ersetzt werden.
Hallo,
ich melde mich hier mal wieder zu Wort, da ich der ursprüngliche Initiator war. Ich kenne die Probleme indirekt ebenfalls. Mein Script hat zwar funktioniert aber immer mal wieder Probleme mit dem NAS gehabt. Ich weiß nicht warum. Deshalb habe ich das Script umgestellt und exportiere auf der lokalen Festplatte. Andere Mechanismen synchronnisieren dann die Daten auf das NAS. So läuft es besser. Ich vermute, dass die Export-Funktionen relativ zeitkritisch sind, dass kann dann über ein Netzwerk doch zu Probleme führen.
Auch ich nutze ein Setup mit zwei MACs. Mache aber eben die Indexierung nicht auf dem NAS, sondern lokal auf dem MAC und synchronisiere dann mit dem NAS auf den anderen MAC und ein iPhone. Das funktioniert für mich soweit fehlerfrei.
ciao
mr_drlove
AppleScript-Befehle können tatsächlich aufgrund eines Timeouts fehlschlagen. Ein größerer Timeout hilft dann meistens:
with timeout of 3600 seconds
end timeout
Also bei mir war der indexierte Ordner ein Ordner auf dem Mac, der dann über Synology Drive mit der Diskstation verbunden war. Im Ansatz hat das ja auch wunderbar funktioniert und ich war zufrieden, bis sich dann eben diese Datenverluste eingestellt haben.
Dummerweise war es eben nicht nur einmal, sondern ist öfter vorgekommen. Leider kann man eben auch nicht nachvollziehen, woher der Befehl zum löschen kam.
Mein Glück ist eben, dass ich alle Daten vom NAS noch einmal auf dem OneDrive ablegen lasse mit der Maßgabe, dass da nie was gelöscht wird.
Ich habe das Setup, was ich hatte noch einmal aufgezeichnet. Hier kam es zu diesem Datenverlust. Ihr meint also rein theoretisch sollte es funktionieren?
Das Setup ist in der Tat schon etwas kompliziert und bei dermaßen vielen Synchronisierungen ist es schwer herauszufinden, welche für das Problem verantwortlich war.
Hier werden private Ordner/Dateien auf der Synology einfach direkt indiziert, d.h. das Volume wird im Finder aktiviert. Der Sync mit anderen Macs & iOS kann über einen Sync Store auf der Synology erfolgen, muss aber nicht.
Wenn du den Synology Sync vom iMac zur DS als Backup und nicht als Sync machst, sollte es funktionieren. Das Problem ist tatsächlich das beidseitige abgleichen. Dann wird aus dem oberen Pfad über die DS zum OneDrive ein reiner Backupweg. Aus der Richtung OneDrive/Synology ist ja kein Datenfluss zu erwarten. Für den Restore-Ernstfall sollte sowieso kein Synchronisationsdienst verwendet werden, sondern eine überlegte Rückführung der Daten. Versuch es mal mit einem Testdatenset.