Scripten: NACH TM-Backup -> HD unmounten

Danke an Euch alle für die Hilfe. Ich habe jetzt Einiges versucht und habe auch einige externe Websites durchforstet.
Fakt ist, ich habe einfach zu wenig Ahnung hiervon.
Vielleicht noch ein Versuch, wenn mir da jemand unter die Arme greift.
Das Abfragen, ob das Programm noch ausgeführt wird bringt nicht die Lösung. Die Varianten haben nicht funktioniert.

Allerdings habe ich rausgefunden, dass eine Datei bzw. ein Paket mit den Namen "Jahr-Monat-Tag-Nummer.inProgress" im Backupordner angelegt wird sobald und solange das Backup aktiv ist! Danach verschwindet sie.

Jetzt meine letzte Idee:

Schritt 2)
Eine Abfrage, ob die Datei oder das Paket mit der Endung ".inProgress" an dem Ort "/Volume/Lacie/Backups.backupdb/Computername/" existiert.


Ich habe bereits versucht so etwas zusammen zu friemeln. Aber das bekomme ich nicht hin.
 
Also ich hab mir mal ein bisschen Zeit genommen und jetzt klappts bei mir so:

Code:
do shell script "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper"
set x to 1
delay 10
tell application "System Events"
	repeat until x = 0
		if exists folder "/Volumes/Time Machine-Backups" then
			set x to 1
			delay 1
		else
			delay 5
			set x to 0
			do shell script "diskutil unmount /Volumes/Data"
			display dialog "finish"
		end if
	end repeat
end tell

Die Namen usw. musst halt noch anpassen und mal schaun ob des mit den Delay Zeiten bei dir passt.
 
Danke für Deine Mühe :upten:

Leider funktioniert es bei mir nicht so.
Er startet das Backup und wirft die Platte wieder während dem Vorgang aus.

Du schreibst, dass er bei Dir den Ordner "Time Machine-Backups" erst erstellt, wenn TM startet? Hast Du eine TimeCapsule oder ein NAS auf das gesichert wird?
Wenn TM startet erscheint nichts von "Time Machine-Backups" und verschwindet nach TM wieder. Auf meinem Schreibtisch ist die FW-Platte und dort sind die Backups in den Unterordnern, immer.
Das Einzige was zu Beginn von einem Backupvorgang erscheint und danach wieder verschwindet ist die eine Datei im Backupverzeichnis mit der Endung .inProgress.

Könnte man nicht die eine Zeile in Deinem Code abändern, dass er anstatt nach dem Ordner, nach einem File mit der Endung .inProgress frägt?

if exists folder "/Volumes/Time Machine-Backups" then


So in etwa :kopfkratz:

if exists file "/Volumes/Lacie/Backups.backupdb/Computername/" contains ".inprogress" then



btw... geht na klar net
 
Zuletzt bearbeitet:
Ich sichere auf eine Time Capsule. Wenn ich das Backup starte, dann mountet er ein Image mit dem Namen Time Machine-Backups. Da ist dann das von dir erwähnte Backups.backupdb drin. Man müsste dasselbe aber auch mit der Datei von dir machen können. Dann einfach schreiben:

...
if exists file "/Volumes/Lacie/Backups.backupdb" then
...

Ich bin mir nicht ganz sicher, ob er Backups.backupdb als file nimmt oder als folder, einfach ausprobieren.
 
Ah, so hatte ich es noch von der TC in Erinnerung. Wenn man die Platte direkt anschliesst ist das nicht so.
Ok, aber so kommen wir der Sache schon näher.
Also er erstellt hier keine Ordner. Nur immer eine Datei. Diese Datei hat immer einen anderen Namen, bestehend aus Datum und Index mit der Endung inProgress.
Jetzt müsste ich in der Zeile von Dir nur noch die Anweisung geben können, dass er nach einer Datei mit der speziellen Endung sucht, da sich der Name immer ändert. Quasi, dass er nur schaut, ob es in dem Ordner eine Datei mit der speziellen Endung gibt.

So wie er bei Dir den Ordner auf dem Schreibtisch anlegt, erstellt er hier nur den File.
 
:hamma: einfach mit " *. "


Erster Testlauf ging einwandfrei!

Vielen lieben Dank. Alleine hätte ich das nie hinbekommen. :dance:


do shell script "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper"
set x to 1
delay 10
tell application "System Events"
repeat until x = 0
if exists file "/Volumes/Lacie/Backups.backupdb/The-Beast-i7/*.inProgress" then
set x to 1
delay 1
else
delay 5
set x to 0
do shell script "diskutil unmount /Volumes/LaCie"
display dialog "finish"
end if
end repeat
end tell
 
revidiere.... geht doch nicht!

Extra ein Film auf den Rechner gespielt um zu schauen, ob es bei größeren Backups auch geht.
Bei ca. 160 MB hat er die Platte schon wieder ausgeworfen.

Ich kapituliere :muede:
 
ja ich glaube dein *. geht nicht^^

ist der Dateiname immer das Datum? Dann könnte man das nämlich immer abrufen. Ansonsten bräuchte man noch was was den Dateinamen findet und dann übergibt.
 
Der Dateiname besteht immer aus "Datum-Uhrzeit.inProgress".
Bildschirmfoto 2011-02-23 um 22.33.57.jpg


Richtig: Lt. Protokoll geht er nach der Zeile: exists file "/dev/disk1s3/Backups.backupdb/The-Beast-i7/*.inProgress" gleich auf --> false
Sprich er sieht den File nicht. Dachte immer, dass man mit "*" beliebig viele Zeichen ersetzen kann.
 
Zuletzt bearbeitet:
Probiers damit:

Code:
do shell script "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper"
set x to 1
set FilePath to ":Volumes:Lacie:Backups.backupdb:The-Beast-i7:" as alias
delay 10
tell application "Finder"
	repeat until x = 0
		if exists (items of FilePath whose name contains ".inProgress") then
			set x to 1
			delay 1
		else
			delay 5
			set x to 0
			do shell script "diskutil unmount /Volumes/LaCie"
		end if
	end repeat
end tell
 
:) Ja, jetzt funktioniert es wunderbar.
Im Protokoll sieht man jetzt auch wie er die Schleife macht und dann am Schluss zum Ende springt.
Perfekt!

Tausend Dank, dass Du Dir soviel Zeit genommen hast.
 
Keine Ursache. Hab das direkt mal für mich auch verwendet :D
 
hehe... ja, ich kann mir denken, dass das vielleicht noch mehr Leute interessiert.
Ich bin bestimmt nicht der Einzige, den es nervt, dass die Festplatte dauernd vor sich her summt und Lärm macht.

Das Script noch mit iCal so eingebunden, dass es er nur alle paar Stunden ein Backup macht und ansonsten hört und sieht man nichts von der Platte.


Wünsche Dir dann noch nen schönen Abend :drink:
 
Zurück
Oben Unten