Volume automatisch unmounten, zeitgesteuert

Dieses Thema im Forum "Scripting und Automatisierung" wurde erstellt von echt0711, 04.07.2004.

  1. echt0711

    echt0711 Thread Starter MacUser Mitglied

    Beiträge:
    858
    Zustimmungen:
    12
    MacUser seit:
    11.10.2003
    Hallo an alle,

    Ich habe folgende Situation:
    An meinem Rechner hängt eine externe Festplatte, die ein eigenes Netzteil hat. Zwischen Netzteil und Steckdose hängt eine ganz normale Zeitschaltuhr.

    Um 23:50Uhr jeden Tag schaltet diese den Strom ein, die externe Platte wird gemountet. Um 0:00Uhr fährt ein Déja Vu (OSX Shareware) Backup an, daß alle wichtigen Dateien auf die externe Platte kopiert. Um 1 Uhr schaltet sich der Rechner aus (via OSX SystemPreferences). Wenig später wird die externe Platte vom Netz genommen. So weit so gut.

    Ich möchte jetzt aber gerne meinen Rechner rund um die Uhr laufen lassen, aber die externe Platte dennoch vernünftig vom System abmelden.

    - Hat jemand eine Idee, wie man ein AppleScript dazu bringen kann, das Volume zeitgesteuert ODER in Abhängigkeit vom Backup abzumelden? Also entweder ein Script, daß jeden Tag um 1:00 Uhr meine Platte abmeldet oder ein Script, daß mitkriegt wann das Backup fertig ist und die Platte dann abmeldet...

    Es geht mir mit der Aktion schlicht darum, die externe Platte so selten wie möglich in Betrieb zu haben. Je weniger sie läuft, desto geringer die Wahrscheinlichkeit, daß sie vor der internen Platte abraucht und desto weniger Strom verbraucht sie. :cool:

    Leider habe ich wenig Erfahrung mit AppleScript und weiss daher nicht, ob es überhaupt die Möglichkeit gibt, irgendwas zeitlich zu steuern... Mir ist schon der Gedanke gekommen, auf den Cron-Deamon im System zuzugreifen - nur hieße das Unix Scripten und das kann ich noch weniger *g*

    Vielleicht hat jemand von euch ne wirklich coole Idee dazu!
     
  2. Um ein AppleScript-Programm über cron aufrufen brauchst Du keine UNIX-Scripting. Einfach den Befehl open /Pfad/zum/AppleScript und die gewünschte Zeit in den crontab eintragen (am einfachsten gehts mit Cronnix).
     
  3. echt0711

    echt0711 Thread Starter MacUser Mitglied

    Beiträge:
    858
    Zustimmungen:
    12
    MacUser seit:
    11.10.2003
    oh das hört sich mal richtig gut an! Werde ich probieren…*sehe ich es richtig, daß der Cron Deamon in jedem Fall seine Arbeit verrichtet, auch wenn kein User angemeldet ist? Oder läuft das AppleScript unter meinem User, und ich muss auf jeden Fall angemeldet sein, wenn der Vorgang stattfindet? *nichtsoganzdurchblick* Sonst könnte der ganze Vorgang im Hintergrund laufen, auch wenn niemand mehr arbeitet…
     
  4. sgmelin

    sgmelin MacUser Mitglied

    Beiträge:
    3.714
    Zustimmungen:
    40
    MacUser seit:
    16.05.2004
    Der cron Deamon ist ein Systemdeamon, der immer arbeitet. Auch wenn kein User angemeldet ist. Und ein Laufwerk abzuhängen ist eine sehr einfache Sache.
    Zunächst einmal musst Du herausfinden, wie das Devicefile des Laufwerks heisst. Das machst Du einfach mit dem "mount" Befehl. Diesen ohne Parameter eingegeben wirft Dir die angehängten Laufwerke mitsamt Mountpoints aus.
    Nun einfach folgendes Script erstellen:

    -------- schnipp ----------
    #!/bin/sh
    umount /dev/XXX
    -------- schnapp ----------
    Dieses script speicherst Du unter einem sprechenden Namen ab, am besten nach /sbin und gibst ihm mit sudo "chmod 755 NAME" Ausführungsrechte.
    Dann das Teil noch in die Crontab eintragen und fertig.
     
  5. echt0711

    echt0711 Thread Starter MacUser Mitglied

    Beiträge:
    858
    Zustimmungen:
    12
    MacUser seit:
    11.10.2003
    @sgmelin: Genau soweit war ich gerade, daß ich mir dachte "warum eigentlich ein AppleScript wenns doch einen Shell-Befehl zum mounten gibt…"

    Ich werd mich da mal reinhängen… vielleicht lern ich auf diese Weise ja endlich ein bißchen shell-scripten… ne ganz blöde newbie-frage: das script kann ich doch auch in meinem SubEthaEdit schreiben, oder muss ich VI o.Ä. nehmen? :D

    Ansonsten sollte das klargehen… ich häng es bei sbin rein und hoffe, daß zukünftige OS X Updates es nicht überschreiben :rolleyes:
     
  6. starbuxx

    starbuxx MacUser Mitglied

    Beiträge:
    1.442
    Zustimmungen:
    8
    MacUser seit:
    13.04.2003
    Hi Echt,

    ich kenn' SubEthaEdit nicht, aber ein komfortabler Editor in der Shell ist 'pico', der auch zum Inventar von OS X gehört.

    Ansonsten kannst du natürlich auch jeden anderen TextEditor unter Aqua verwenden.

    Grüsse,
    sbx
     
  7. echt0711

    echt0711 Thread Starter MacUser Mitglied

    Beiträge:
    858
    Zustimmungen:
    12
    MacUser seit:
    11.10.2003
    soso… also script geschrieben (genau wie gepostet) und folgendes result:

    Welcome to Darwin!
    knoedgen-dual-g5:~ macroot$ sudo chmod 755 /sbin/exthd_abheangen.sh
    Password:
    knoedgen-dual-g5:~ macroot$ /sbin/exthd_abheangen.sh
    umount: /Volumes/305GB_Backup: Operation not permitted

    Was nun? Hab ich nen Denkfehler gemacht?
     
  8. starbuxx

    starbuxx MacUser Mitglied

    Beiträge:
    1.442
    Zustimmungen:
    8
    MacUser seit:
    13.04.2003
    hast Du evtl. noch offene FileHandles auf der Platte? Dann kann das nicht gehen mit dem umounten.

    sbx
     
  9. echt0711

    echt0711 Thread Starter MacUser Mitglied

    Beiträge:
    858
    Zustimmungen:
    12
    MacUser seit:
    11.10.2003
    hmm…*also ich hab jetzt die platte nochmal frisch gemountet (konventionell über drag and drop in den papierkorb, platte ausgeschaltet und wieder angeschaltet)… keine Änderung, wenn ich das Shellscript vom Terminal aus als Admin ausführe… erst mit dem Kommando

    sudo /sbin/exthd_abhaengen.sh

    hat's funktioniert. Das HD-Icon bleibt allerdings auf dem Schreibtisch sichtbar und verschwindet erst, wenn ich es anklicke. Und noch ne Auffälligkeit: Wenn ich nach Ausführen des Scripts das Festplattendienstprogramm starte, behauptet dieses daß das Volume noch gemountet sei! Und wenn ich die Platte jetzt abschalte (also vom Stromnetz trenne) krieg ich die Meldung auf den Schreibtisch "Das Gerät, das Sie gerade von diesem Computer entfernt haben, wurde nicht korrekt abgemeldet."

    Klappt da was nicht richtig? Habe probeweise mal in cronnix das Script angesprochen (allerdings nicht mit "sudo" und gelistet im crontab meines Admin-Accounts) - Die Platte hat sich daraufhin jedoch nicht vom Schreibtisch bewegt…
     
  10. echt0711

    echt0711 Thread Starter MacUser Mitglied

    Beiträge:
    858
    Zustimmungen:
    12
    MacUser seit:
    11.10.2003
    ok kleiner nachtrag… wenn ich das script in die system crontab einhänge, läuft es! Wer hätte das gedacht *grins*

    Jetzt bleibt nur noch das Problem, daß OS X meckert, sobald ich die Platte vom Stromnetz trenne… lässt sich das vielleicht noch scripten? Muss man die Platte nicht doch "apple-like" unmounten?
     

Diese Seite empfehlen