Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Script unter MAC OS X?

Frage Apple Mac OS X

Mitglied: rootinch

rootinch (Level 1) - Jetzt verbinden

01.08.2006, aktualisiert 02.08.2006, 8353 Aufrufe, 4 Kommentare

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???
Mitglied: JohnnyB
01.08.2006 um 19:35 Uhr
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.
Bitte warten ..
Mitglied: RobertTischler
01.08.2006 um 22:17 Uhr
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.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: JohnnyB
02.08.2006 um 00:33 Uhr
Hier mal das Script:

01.
#!/bin/bash 
02.
 
03.
# damit auf jedenfall eine JPEG-Datei im Verzeichnis ist 
04.
screencapture -x -tjpeg /Pfad/zum/jpegbilerordner/dummy.jpg 
05.
 
06.
# die Textausgaben und Fehlermeldungen von sips mit > und >& ins Datennirvana schicken 
07.
sips -s format tiff /Pfad/zum/jpegbilderordner/*.jpg --out /Pfad/zum/tiffbilderordner > /dev/null >& /dev/null 
08.
 
09.
# loeschen der jpg-files 
10.
rm /Pfad/zum/jpegbilderordner/*.jpg > /dev/null >& /dev/null 
11.
 
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):

01.
chmod +x convert.sh
verändert werden soll es auch nicht mehr, also:

01.
chmod -w convert.sh
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:

01.
<?xml version="1.0" encoding="UTF-8"?> 
02.
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
03.
<plist version="1.0"> 
04.
<dict> 
05.
	<key>Label</key> 
06.
	<string>org.rootnich.convert</string> 
07.
	<key>ProgramArguments</key> 
08.
	<array> 
09.
		<string>convert.sh</string> 
10.
	</array> 
11.
	<key>StartInterval</key> 
12.
	<integer>60</integer> 
13.
</dict> 
14.
</plist>
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.
Bitte warten ..
Mitglied: rootinch
02.08.2006 um 09:10 Uhr
Many, Many THX!
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Router & Routing
Lancom IKEv2 - Mac OS VPN (17)

Frage von geforce28 zum Thema Router & Routing ...

Mac OS X
gelöst Netzlaufwerke MAC OS Sierra (16)

Frage von Hendrik2586 zum Thema Mac OS X ...

Mac OS X
Entwickeln unter MAC OS (8)

Frage von WPFORGE zum Thema Mac OS X ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...