1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

crontab erstellen

Dieses Thema im Forum "Netzwerk" wurde erstellt von Pinky69, 11.01.10.

  1. Pinky69

    Pinky69 Lambertine

    Dabei seit:
    10.03.06
    Beiträge:
    704
    Hallo,

    ich habe hier etwas womit ich nicht so richtig klar komme. Ich habe mit AppleScript ein Script geschrieben das ich als "dateiname.scpt" gesichert habe, auch als "dateiname.app".
    Die app-datei ist lokal ausführbar und funktioniert auch. Die scpt-datei würde ich gerne in einen crontab einbauen, nur wie mache ich das?
    Habe es mit "CronniX" versucht, aber das crontab wir einfach nicht ausgeführt. Bekomme in der Konsole immer diese Meldung.
    "Jan 11 11:50:00 SERVERNAME /usr/bin/osascript: kCGErrorRangeCheck : Window Server communications from outside of session allowed for root and console user only"

    Habe das Crontab schon versucht als Admin und als Root anzulegen, bekomme aber immer die gleiche Meldung. o_O

    Wer kennt sich mit Crontab aus oder hat mir einen anderen Tipp?

    Gruß
    Pinky
     
  2. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    1. Cron ist obsolet. Nimm launchd.
    2. GUI-Interaktionen (GUI-Skripte gehören dazu) sind nur für Programme erlaubt, die zum eingeloggten User gehören. Das sagt auch die Fehlermeldung.
     
  3. ImperatoR

    ImperatoR Ananas Reinette

    Dabei seit:
    02.12.06
    Beiträge:
    6.235
    Im Terminal

    Code:
    crontab -e
    aufrufen und die s-Taste drücken, um in den Schreibmodus zu gelangen.

    Dann kann man einen Befehl eingeben, z.B.:

    Code:
    # cron table
    # = = = = = = = = = = = = = =
    # M S T M W Command
    5 * * * * /Pfad/zum/Skript > /dev/null 2>&1
    # = = = = = = = = = = = = = =
    Hier: Das Skript wird alle Stunde und fünf Minuten ausgeführt (13:05, 14:05 usw.). Mit > /dev/null 2>&1 werden Logdateien unterdrückt.

    Da ich nicht weiß, was wo wie und überhaupt das für ein Skript ist, kann ich keine genauere Aussage treffen. Und MacMark hat recht!
     
  4. Pinky69

    Pinky69 Lambertine

    Dabei seit:
    10.03.06
    Beiträge:
    704
    Danke für eure Tipps.

    Ist eben so das ich von einem OSX Server 10.4.11 auf einem NT-Server in bestimmten Verzeichnissen diese dot-dateien (._dateiname) löschen will.
    Wie kann ich das per cronjob hinbekommen?
     
  5. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    Probier das mal:
    Mac OS X v10.4 and later: How to prevent .DS_Store file creation over network connections
    http://support.apple.com/kb/HT1629?locale=de_DE

    Die ._ Dateien enthalten jedoch die Resource Forks und die zu löschen, ist nicht schlau. Das ist nötig auf Dateisystemen, die keine Multi-Fork-Dateien handhaben können. Da muß die Resource-Fork dann in eine extra Datei.

    Allerdings sollte NTFS das (mehrfache Datenströme für eine Datei) können.
    http://technet.microsoft.com/en-us/library/cc976929.aspx

    http://www.alcpress.com/articles/ads.html

    Also einfach mal den NT-Server richtig einrichten.
     
    #5 MacMark, 11.01.10
    Zuletzt bearbeitet: 11.01.10
  6. Pinky69

    Pinky69 Lambertine

    Dabei seit:
    10.03.06
    Beiträge:
    704
    @MacMark
    je das mit den Resource Froks ist mir klar, aber das ist ja das Problem. Die Dateien werden auf einem Mac bearbeitet und in ein NT-Verzeichniss abgelegt wo sie manuell abgeholt werden, dabei werden eben auch immer diese Resource-Dateien mit abgelegt und von dem Windows aber nicht automatisch wieder gelöscht.

    Und eben das würde ich gerne mit einem Cronjob der auf dem Macserver läuft anstarten, das löschen.

    Gruß
    Chris
     
    #6 Pinky69, 11.01.10
    Zuletzt bearbeitet: 11.01.10
  7. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    Ich hatte meinen Beitrag nochmal ergänzt. Mach mal reload.
     
  8. Pinky69

    Pinky69 Lambertine

    Dabei seit:
    10.03.06
    Beiträge:
    704
    NT-Server neu einrichten ist leichter gesagt als getan, nur unsere NT-Jungs blicken das doch eh nicht.
    Gibt es keine Script-Möglichkeit diese Resource Fork Dateien scriptiert vom Mac zu erledigen?
     
  9. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.896
    So etwas sollte der NT Server selbst tun. (per --> Taskplaner)
    Alle "verwaisten" ._* Dateien können bedenkenlos gelöscht werden (also alle diejenigen, zu denen es kein gleichnamiges Objekt ohne dieses Präfix mehr gibt).
    Natürlich ginge das. Aber durch Zugriffsrechte, offene Dateien und eine Menge anderer Fallstricke ("race conditions") könntest du dabei auf unerwartete Probleme stossen, die der Server selbst damit nicht hat. Ausserdem wird der Job auf dem Server laufend gleich sämtliche Netzfreigaben und Festplatten bearbeiten können (auch für dich nicht oder nur eingeschränkt verfügbare), und Netzwerkresourcen verbraucht das dort auch keine.
    Deine "NT-Jungs" sollten es gebacken bekommen, eine entsprechende kleine Batchdatei zusammenzunageln.
     
  10. Pinky69

    Pinky69 Lambertine

    Dabei seit:
    10.03.06
    Beiträge:
    704
    Was mich auch wundert ist folgendes. Habe das AppleScript mal als Datei.app gesichert und kann es komischer weise ohne Probleme direkt starten, durch doppelklick auf das app-Icon.
    Warum bekommt der Mac das dann nicht automatisch einmal am Tag gestartet? :oops:

    Werde die NT-Jungs aber mal anhauen. ;)
     
  11. ImperatoR

    ImperatoR Ananas Reinette

    Dabei seit:
    02.12.06
    Beiträge:
    6.235
    Bau dir doch einen passenden Dämon/Agent, der es einmal am Tag ausführt, wie MacMark bereits empfiehl.
     
  12. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    Weil es eine Sicherheitslücke wäre, wenn jemand von außerhalb Deiner User-Session Deine GUI steuert!

    Wenn die Ihr NTFS richtig einstellen, dann sieht Windows die ._-Dateien nicht, weil sie als zweiter NTFS-File-Stream gespeichert werden und nicht als "normale" Dateien. So wie es HFS+ auch tut.
     
  13. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    Leider nicht ganz, es gibt immer noch ein paar wenige Sachen die [tt]cron[/tt] kann die mit [tt]Launchd[/tt] leider nicht möglich sind, oder nicht korrekt funktionieren. Ja, ärgerlich, aber leider Realität. Abgesehen davon, daß es deutlich mehr Aufwand ist ein Launchd-Item zu bauen als einen [tt]crontab[/tt] Eintrag zu erstellen.
    Gruß Pepi
     
  14. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.896
    LOL. Dieses Märchen hätte ich gern etwas näher erläutert.
    (Wirkt übrigens ganz besonders amüsant wenn man ergänzend dazu sagt, dass auch das Programm "cron" selbst schon längst von launchd kontrolliert wird.)

    Ein typisches launchd Item baue ich in gefühlten 5-10 Sekunden mit einer einzigen Zeile Text. Um wieviel höher kann der Aufwand denn da in Wirklichkeit schon sein?
     
  15. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    Daß [tt]cron[/tt] von Launchd gestartet wird ist mir schon klar, und leider ist es kein Märchen. Trigger wie @reboot gibt es in Launchd nicht. Die Calendar Intervall Möglichkeiten von Launchd sind denen von [tt]cron[/tt] leider auch unterlegen, jedenfalls wenn man für den gleichen Effekt nicht mehrere Items anlegen will.

    Andere praktische Trigger von Launchd die man gerne verwenden würde, weil sie Sachen erlauben die mit [tt]cron[/tt] nicht möglich sind, sind leider so verbuggt, daß man sie erst recht wieder vergessen kann, was aber nicht Gegenstand dieser Diskussion ist.

    An einem Beispiel für so ein einzeiliges Launchd Item bin ich interessiert! Ich lerne immer gern was Neues!
    Gruß Pepi
     
  16. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.896
    Es gibt also gar keinen Schlüssel "RunAtLoad" ?

    Purer Unfug.
    Code:
    [SIZE="-1"]StartCalendarInterval 
      <dictionary of integers [B][COLOR="Red"]or array of[/COLOR][/B] dictionary of integers>
    [/SIZE]
    Für die simple Funktionalität eines cronjobs genügt:
    Code:
    [SIZE="-1"]sudo defaults write /Library/LaunchDaemons/example '{ Label="example"; ProgramArguments=( "/foo/bar" ); StartCalendarInterval={ Day=15; Hour=5; Minute=0; }; }';[/SIZE]
    So what?
     
  17. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    … und wenn man danach Rastafaris Dämon als XML betrachten möchte, dann so umwandeln:
    Code:
    sudo plutil -convert xml1 /Library/LaunchDaemons/example.plist
     
  18. Pinky69

    Pinky69 Lambertine

    Dabei seit:
    10.03.06
    Beiträge:
    704
    @MacMark
    jaja die NT Jungs können diese ._Dateien hidden aber die Dateien selbst sind ja immer noch auf dem Windows Server.

    Wie ist das wenn ich hier eine app-Datei habe die auch ausführbar ist, kann ich die alle 15 Min. automatisch starten?

    Gibt es für den launchd eigentlich ein vernünfitiges GUI für OSX 10.6 ?
    Anleitung "Wie baue ich mir eine plist für launchd" ? ;)

    Sorry die doofen Fragen aber habe mit programmierung wenig am Hut.
     
  19. QuickMik

    QuickMik Stahls Winterprinz

    Dabei seit:
    30.12.05
    Beiträge:
    5.189
    ich würde sagen, das es sich bei beiden in grenzen hält, wenn man davon ausgeht,
    das es für beide einen GUI gibt

    launchd editor
    Crontooie
     
  20. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.896
    Für launchd gibts was besseres. Kostenlos und vor allem: funktioniert.
     

Diese Seite empfehlen