Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Script mit Automator

Script mit Automator

Niklass01.07.0915:14
Hallo zusammen,
folgendes würde ich gerne machen.
Derzeit befindet sich ein (UniX) shell skript bei mir im Unternordner das ich immer über folgende Aktion aufrufe

Öffnen Terminal in den Unterordner sh name des scripts.sh

Mit diesem Script connecte ich mich als User auf meinen Server hier in meiner Umgebung. Wenn dort angekommen bin mache ich ein SU und gebe dann das PW ein.
Dann rufe ich ein Prg auf um die Statistiken ein zu sehen.

So das dazu. Ich würde gerne das ganze mit Automator machen wollen und es dann als Plug im Finder integrieren. Zumindest den Zugang zum Server als User.

Habe mich dran gesetzt um es im Automator zu schreiben aber es passiert nichts.
Habe über Programm öffnen Terminal angegeben, was auch soweit klappt. Wenn er jetzt das fertige Script starten soll, sehe ich nichts mehr. D.h das Fenster terminal ist zwar da aber er macht nicht.
Hat einer ne Idee wie sowas funktioert? Kenne mich auch mit Automator nicht so gut aus.

Mfg Nicklas

NACHTRAG: Das script was ich aufrufe ist ein ssh scripte. Also "ssh server blah "

0

Kommentare

_mäuschen
_mäuschen01.07.0915:34

Ungefähr so?

0
Niklass01.07.0915:57
Hi Mäusschen
nein klappt nicht erstartet dann immer Remote Desktop und will damit connecten.

ScreenshootScreenshoot

0
_mäuschen
_mäuschen01.07.0916:01

Ja. Äh, sorry

0
_mäuschen
_mäuschen01.07.0916:02

...
0
Niklass01.07.0916:07
Hab ich auch schon probiert. Dort kommt dann
Bild
Diese Pseudo Terminal. Was ist das?? habe auch schon probiert vorher ein Terminal aufzurufen und dann das script laufen lassen. Aber brachte auch ncihts Immer der selbe Fehler
0
_mäuschen
_mäuschen01.07.0918:56

Melde Dich gleich als Admin per ssh an.

Und dann diesen Applescript.

set comd to "top" -- q to stop
set user to "admin"
set srvr to "10.0.1.4"
tell application "Terminal"
    activate
    do script "ssh -1 " & user & "@" & srvr & " " & comd
end tell

0
Niklass01.07.0919:29
Hei super,

habe es etwas abgeändert. Hier mal das geänderte
on run {input, parameters}
    
    set user to "USER"   <---- hier den user namen
    set srvr to "server" <---- Hier Servernamen ( danke DNS) 
    tell application "Terminal"
        activate
        do script "ssh " & user & "@" & srvr & " "
    end tell
    
    return input
end run

Was beduetete dieses " comd" damit kam er überhaupt nciht zurrecht. Brachte auch da Fehlermeldungen. Mit dem oben genannten Script funzt es soweit.
Erst mal danke für die Hilfe
0
_mäuschen
_mäuschen01.07.0919:41

comd == command

top - display and update sorted information about processes

0
Niklass01.07.0920:01
Habs gerade erst gesehn. Er macht bei mir jetzt bei jeden aufruf ZWEI terminal Fenster auf. ist das normal?
0
_mäuschen
_mäuschen02.07.0912:50

Nur ein Fenster.

Nach getaner Arbeit exit eintippen!

set comd to "ls -l"
set user to "admin"
set pwd to "adminPassword"
set srvr to "10.0.1.4"
set the clipboard to "ssh -1 " & user & "@" & srvr
tell application "Terminal"
    activate
    tell application "System Events"
        tell application process "Terminal"
            keystroke "v" using command down
            keystroke return
            delay 3
            keystroke pwd & return
            delay 1
            keystroke comd & return
        end tell
    end tell
end tell

0
Niklass02.07.0915:58
Hei es klappt.
Super vielen vielen dank.
Das erleichtert mir die Sache um ein vielfaches

Das mit dem Admin anmelden klappt nicht, weil ich Root nicht als ssh user zugefügt habe. ist auch gut so. rein sicherheitstechnisch.
0
_mäuschen
_mäuschen02.07.0916:22

Root ist auch gar nicht nötig.

Ein Admin oder auch ein User genügt.

Den Befehl mit sudo eingeben

Du wirst dann nach einem Admin Passwort gefragt.

0
Niklass02.07.0917:13
Ja danke. Ich weiss.
Jetzt wo ich gesehn habe wie das funzt, habe ich das script einfach mal erweitert
on run {input, parameters}
set comd to "SERVERSCRIPT "
set user to "USER"
set pwd to "USERPW"
set srvr to "SERVERADRESSE"
set pwd2 to "ROOTPW"
set runprg to "STATISTIK"
set the clipboard to "ssh " & user & "@" & srvr
tell application "Terminal"
activate
tell application "System Events"
tell application process "Terminal"
keystroke "v" using command down
keystroke return
delay 2
keystroke pwd & return
delay 1
keystroke comd & return
end tell
delay 1
keystroke pwd2 & return
delay 1
keystroke RUNPRG & return
end tell
end tell
return input
end run
Und das verblüffende ist dabei " Es klappt"
Spart mir ne menge Tipperei

Danke (grins)
0
_mäuschen
_mäuschen02.07.0917:29

Schön, schön.

Nur ich hab hier ein

-bash: ROOTPW: command not found
das eigentlich bei Dir auch im Terminal stehen sollte.

Oder seh' ich da was falsch?

SU

0
Niklass02.07.0918:46

das

set comd to "SERVERSCRIPT "

Ruft auf dem Server einfach nur eine r.sh auf in der folgender steht
#!/bin/sh 
su

mehr nicht. Da ich nicht mit sudo arbeite ( es ist ein UniX Server auf BSD Basis) mache ich es so das er nach dem connect die SH aufruft und ich das AdminPw aus dem Script übergebe.
Ist zwar vielleicht etwas ums dorf in die Kirche aber es geht. Und das auch verdammt schnell.
Leg wie gesagt auf den Server eine name.sh an mach die aluffähig mit chmod 755und setzte dann incl. pfad das dann als Servercript so wie bei mir ein

Das war es. Hoffe das ich diesmal helfen konnte

Nachtrag: Du hast ja ein " ls-l " eingegeben. Ich habe da einfach nur /home/user/script/script.sh " reingetan

0
_mäuschen
_mäuschen02.07.0919:16

Ah,

verstehe.


Das " ls-l " war auch nur Bspl für einen Befehl.
Und ob dieser in 'nem script liegt oder direkt gegeben wird
spielt ja keine Rolle.


0
Niklass02.07.0919:33
Ja eben. So hab ich es auch gesehn.
Hoffe aber das dein Fehler jetzt nicht mehr kommt
0
_mäuschen
_mäuschen02.07.0919:58

Keine Sorge.


      Wenn schon Automator, dann …

Bild von developer.apple.com
                               





0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.