Dieser Beitrag ist schon älter. Bitte vergewissern Sie sich, dass die Rahmenbedingungen oder der enthaltene Lösungsvorschlag noch dem aktuellen Stand der Technik entspricht.

Script unter MAC OS X?

Mitglied: rootinch
Selam,

Seit kurzem habe ich mit MAC´s zu tun, stürze mich auch ganz fleissig hinein, habe aber dennoch ein paar Probs, bei denen mir vielleicht jemand helfen mag.

Ich möchte über SIPS im Terminal folgendes starten: "sips -s format tiff *.jpg --out /Pfad/zum/Zielverzeichnis" und zwar im Sinne eine dauernden Überwachung des Ordners.

Beim PC hätte ich jetzt eine Batch geschrieben und das ganze über den Taskplaner alle paar Minuten anlaufen lassen, aber wie funktioniert das beim MAC???

Content-Key: 37102

Url: https://administrator.de/contentid/37102

Ausgedruckt am: 03.08.2021 um 07:08 Uhr

Mitglied: JohnnyB
JohnnyB 01.08.2006 um 19:35:41 Uhr
Goto Top
Automatische Ausführung von Scripten funktioniert unter Mac OS X entweder Linux/Unix-typisch mit Hilfe des cron-Dämons oder mittels launchd. Da der launchd sowieso immer läuft, weil er schon für den Start des OS verantwortlich ist und der cron-Deamon erst entsprechend konfiguriert werden muß, empfehle ich dir das mit launchd zu machen.
Mitglied: RobertTischler
RobertTischler 01.08.2006 um 22:17:39 Uhr
Goto Top
Hallo

Ich kann dir zwar zu deinem Script nicht´s sagen aber ich kann dir mal Empfehlen dir Automator anzusehen. Damit kann man aus vorgefertigen Bausteine eigene Aktionen zusammen bauen. Hab damit schon ein paar Sachen gemacht. Ist erst mal etwas komisch so Aktionen zu erstellen aber wenn man es erst mal versanden hat wie alles geht ist es ganz einfach.

MFG
Mitglied: JohnnyB
JohnnyB 02.08.2006 um 00:33:32 Uhr
Goto Top
Hier mal das Script:


Gut es gibt sicherlich eine elegante Möglichkeit, zu prüfen, ob überhaupt JPEG-Files im Ordner sind, aber so geht es auch.
Anschließend muß das skript ausführbar gemacht werden (ich hab das Skript mal convert.sh getauft):


verändert werden soll es auch nicht mehr, also:


Ich hab das Skript dann in /bin gespeichert, da der launchd im user-Verzeichnis immer permisson denied bekommen hat.
Soviel dazu.

Als nächstes brauchst Du ein Verzeichnis ~/Library/LaunchAgents
Falls es das noch nicht gibt -> erstellen.

Dann öffnest Du den Property List Editor, der findet sich unter
/Developer/Applications/Utilities

Sollte der nicht da sein, dann mußt du von deiner OS X - CD die xcode-tools installieren.

Im Property List Editor klickst Du auf die Schaltfläche "New Root", die ändert daraufhin ihre Bezeichnung auf "New Sibling" und bleibt deaktiviert.
Dann auf das kleine Dreieck vor Root -> Die Schaltfläche heißt nun "New Child" und kann angeklickt werden. Dies bitte machen.
In das Kästchen "New Item" schreibst Du jetzt

Label

Dann Doppelklick in der selben zeile unter Value. In dieses Kästchen schreibst du den Namen deines LaunchAgents. Apple empfielt hier, wie auch bei allen anderen Propery-Listen, das Konzept der umgekehrten Domain-Namen. z.B.

org.rootnich.convert

Danach wieder die Root-zeile anklicken (aber nicht auf das Dreieck) und Schaltfläche New Child
Jetzt bei New Item eingeben

ProgramArguments

Nicht vertippen, sonst kommt später die Fehlermeldung "org.rootnich.convert: invalid argument"
Bei Class klickst du einfach auf das String und wählst Array. Vor ProgramArguments befindet sich jetzt auch ein Dreieck. Das Anklicken und dann wieder "New Child".
Die Zahl wird automatisch vergeben und läßt sich auch nicht ändern. Das String lassen wir stehen und in das Feld unter Value schreiben wir

convert.sh

Da sich diese Datei ja in /bin befindet ist es nicht notwendig den ganzen Pfad anzugeben, da /bin meistens als erstes im PATH eingetragen ist.
Jetzt wieder die Root-Zeile markieren und Schaltfläche "New Child". Bei New Item jetzt eingeben

StartInterval

(mit großem S und großem I) daraufhin rutscht die Zeile nach unten. String wird geändert (durch anklicken und auswählen) in Number und unter Value kannst du dann angeben alle wieviel Sekunden das Skript ausgeführt werden soll. z.B. 60 wenn es einmal in der Minute sein soll.

So fast fertig. Jetzt speicherst du das (File -> Save oder Apfel S) und benennst es meinetwegen

jpg2tiff.xml

und gibst als Ordner ~/Library/LaunchAgents an, sollte er dir das nicht anbieten dann speicherst du das File eben auf dem Desktop und verschiebst es nachher im Finder oder im Terminal in den o.g. Ordner. Der Ordner wird beim Anmelden automatisch vom launchd durchsucht und alle dort abgelegten LaunchAgents werden gestartet. Beim Speichern darauf achten, daß das File Format auf "XML Property List File" steht.

BEVOR DU IM NÄCHSTEN SCHRITT DEN AGENT STARTEST, ERST EINE SICHERHEITSKOPIE DES JPEG-ORDNERS ERSTELLEN!!!! (es kann schließlich immer mal irgendwas schiefgehen).

So jetzt machst Du ein Terminal auf und startest den Agent manuell mit

launchctl load ~/Library/LaunchAgents/jpg2tiff.xml

Feddich. Wenn Du dich abmeldest, wird der Agent beendet und wenn du dich anmeldest, dann wird er gestartet.

Solltest Du, aus welchen gründen auch immer, keinen Property List Editor haben, so ist das auch nicht soooo schlimm, denn das File, also die Property List, die er erzeugt, ist ein stinknormales XML-File, welches im obigen Falle folgendermaßen aussieht:


Bei mir hat es nach der beschriebenen Methode funktioniert. Wenn du zwei Finder-Fenster aufmachst, eines mit dem JPEG-Ordner und eines mit dem TIFF-Ordner, dann kannst Du das ganze ja live verfolgen.
Mitglied: rootinch
rootinch 02.08.2006 um 09:10:35 Uhr
Goto Top
Many, Many THX!
Heiß diskutierte Beiträge
question
Hyper-V - verwaiste Snapshots löschen gelöst basdschoVor 1 TagFrageHyper-V28 Kommentare

Hallo, mein Veeam machte bei einer installation Probleme und konnte plötzlich die Snapshots nicht mehr löschen. Kein Problem, Disks konsolidiert, alte Snapshot Dateien gelöscht. Nun ...

question
USB 3 beißt sich mit 2,4Ghz Funkperipherie gelöst O-Two06Vor 1 TagFragePeripheriegeräte3 Kommentare

Hiho, ich habe nun schon einige Artikel über das leidige Thema gelesen, komme aber zu keiner Lösung. Ich habe Mini-PCs, bei denen nun leider mal ...

question
Fritzbox 7590 ersetzten gegen Modem + Router oder Router mit Modemindignus-estVor 1 TagFrageNetzwerke11 Kommentare

Hallo zusammen, nach langer Krankheit und Genesungszeit fasse ich jetzt mal wieder den Mut eine frage zustellen die mir schon seit längeren im Kopf herum ...

question
Ipv6 RouterliodiceVor 1 TagFrageDSL, VDSL10 Kommentare

Hallo zusammen, ich hoffe ihr könnt mir weiterhelfen, ich benötigen einen ADSL Router (Kabelgebundenen) der IPv4 und IPv6 kann, also Dual Stack (DHCP Extern und ...

question
Günstiges Open-Source NAS für HeimgebrauchpanguuVor 18 StundenFrageSAN, NAS, DAS9 Kommentare

Hallo, mit NAS-Systemen hatte ich bisher gearbeitet: Synology, QNAP, Buffalo, etc. Dabei kommen proprietäre Betriebssysteme zum Einsatz, die sich natürlich von Hersteller zu Hersteller unterscheiden ...

question
SSH Login nur möglich bei eingelogtem USERhell.wienVor 1 TagFrageLinux Netzwerk18 Kommentare

habe einen Server (Debian) mit SSH (nur mit Public Key und auf einem Custom Port) und ufw aktiv. Ich kann mich nicht einlogen. Wenn ich ...

question
ProLiant DL380p G8 findet HP SAS-Festplatten MB3000FBUCN nicht ?IT-DAUVor 1 TagFrageServer-Hardware5 Kommentare

Hallo liebe Community! Kurz vorweg: ich bin Quereinsteiger in der IT-Branche und möchte nun als Vorbereitung zu meinem Ausbildungskurs bzw. für zu Hause ein bisschen ...

question
Backup-Konzept für HeimgebrauchmossoxVor 13 StundenFrageBackup7 Kommentare

Guten Tag zusammen, ich bin mir nicht sicher, ob ich das richtige Unterforum gewählt habe, denn meine Frage berührt auch den Bereich Hardware und Netzwerke. ...