Automator shellscript

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Sandertje03
  • Registratie: Januari 2010
  • Laatst online: 07-05 15:13
ik probeer een shellscript in te voegen in automator, maar hij blijft aangeven dat de taak mislukt.

wat ik in terminal doe, en wat werkt is:

regel1: ssh user@192.168.1.2 sudo shutdown -r now
regel2: password
regel3: password


ik moet dan 2x password invoeren, 1 voor inloggen en 1 voor de reboot.


wat is dan het script wat ik moet invoeren in shellscript in automator?
en is het dan ook mogelijk om het in 1 actie(regel) te doen?


Alvast bedankt!

| Asus Rampage III Gene | Intel i7 930 | Corsair Dominator GT 6GB PC3-14900 | Asus GTX580 Matrix | Intel 510 SSD 120GB | Cooler Master Silent Pro M850 | Cooler Master CM-690 II Advanced | Corsair H50 | Logitech G15 Red |


Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Volgens mij (en een korte Google search) kun je niet het password op de CLI opgeven voor ssh.

Wat mij het beste lijkt, is zorgen voor authentication keys: http://linuxproblem.org/art_9.html (of [google=ssh without password]). Dan heb je helemaal geen password nodig vanaf dezelfde machine.

Acties:
  • 0 Henk 'm!

  • Sandertje03
  • Registratie: Januari 2010
  • Laatst online: 07-05 15:13
X-Lars schreef op dinsdag 19 oktober 2010 @ 12:00:
..

Dan heb je helemaal geen password nodig vanaf dezelfde machine.
bedankt voor je snelle reactie,

maar ik probeer dus een andere machine opnieuw te laten opstarten.

en als er geen password in kan, is er dan wel een andere manier?
om een andere mac opnieuw te laten opstarten via automator?


Sander

| Asus Rampage III Gene | Intel i7 930 | Corsair Dominator GT 6GB PC3-14900 | Asus GTX580 Matrix | Intel 510 SSD 120GB | Cooler Master Silent Pro M850 | Cooler Master CM-690 II Advanced | Corsair H50 | Logitech G15 Red |


Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Lees je maar even iets beter in in het onderwerp dat ik opgaf. Ik verwoordde het misschien niet zo handig, maar met die keys zorg je ervoor dat je kunt doen wat jij wilt.

Acties:
  • 0 Henk 'm!

  • Whieee
  • Registratie: Augustus 2001
  • Laatst online: 09-07 19:19

Whieee

Moderator Apple Talk

⌘ + ⌥ + ⎋

Het eerste wachtwoord kan inderdaad 'omzeild' worden door het gebruik van key-based authenticatie. Je genereert hiervoor met ssh-keygen een keypair, waarvan je het private deel (id-rsa) in je eigen ~/.ssh/ directory zet, en het publieke deel (id-rsa.pub) toevoegt aan ~/.ssh/authorized_keys op de machine die je uit wil zetten. Zorg echter wel dat de rechten op je id-rsa goed staan, anders werkt het alsnog niet.

Het tweede wachtwoord is ook te 'verhelpen'. Dit kun je doen door een aanpassing in de sudoers file.
sudo visudo

Maak vervolgens een regel aan voor jouw specifieke user, of beter, maak voor deze taak een usergroup aan. Het is een goede gewoonte om voor alle 'speciale' privileges een usergroup te maken namelijk. De regel ziet er voor een group 'rebooters' als volgt uit:
%rebooters    ALL=(ALL) NOPASSWD:ALL

Voor een user 'test' wordt het:
test    ALL=(ALL) NOPASSWD:ALL

Wanneer jouw user, of in dit geval een lid van de group, nu een sudo commando aan wil roepen, is daar geen password voor nodig. Je kan dit nog extra afschermen door alleen password-loze toegang tot de shutdown binary toe te staan, de regel wordt dan:
%rebooters    ALL=(ALL) NOPASSWD: /sbin/shutdown

Launching containers into space


Acties:
  • 0 Henk 'm!

  • Sandertje03
  • Registratie: Januari 2010
  • Laatst online: 07-05 15:13
Heb nog geen tijd gehad om het te proberen, ben ook nog beginnend mac gebruiker. 8)7


maar is het ook mogelijk om iTunes te herstarten op een andere locatie? en is dit dan mogelijk zonder password?

| Asus Rampage III Gene | Intel i7 930 | Corsair Dominator GT 6GB PC3-14900 | Asus GTX580 Matrix | Intel 510 SSD 120GB | Cooler Master Silent Pro M850 | Cooler Master CM-690 II Advanced | Corsair H50 | Logitech G15 Red |


Acties:
  • 0 Henk 'm!

  • Whieee
  • Registratie: Augustus 2001
  • Laatst online: 09-07 19:19

Whieee

Moderator Apple Talk

⌘ + ⌥ + ⎋

ja dat kan. Log in via ssh zoals eerder beschreven. Vervolgens stop je iTunes met:
osascript -e 'tell application "iTunes" to quit'

en start je iTunes weer met:
open -a iTunes

Launching containers into space


Acties:
  • 0 Henk 'm!

  • Sandertje03
  • Registratie: Januari 2010
  • Laatst online: 07-05 15:13
Bedankt! weer iets geleerd,

maar ik moet dus met ssh blijven inloggen.
en ik kan niet in 1 regel zeggen dat de mac met IPadres 1.1.1.1 itunes moet openen/sluiten

| Asus Rampage III Gene | Intel i7 930 | Corsair Dominator GT 6GB PC3-14900 | Asus GTX580 Matrix | Intel 510 SSD 120GB | Cooler Master Silent Pro M850 | Cooler Master CM-690 II Advanced | Corsair H50 | Logitech G15 Red |


Acties:
  • 0 Henk 'm!

  • Whieee
  • Registratie: Augustus 2001
  • Laatst online: 09-07 19:19

Whieee

Moderator Apple Talk

⌘ + ⌥ + ⎋

in principe kan dat wel:

iTunes starten:
ssh user@1.1.1.1 open -a iTunes

iTunes afsluiten:
ssh user@1.1.1.1 osascript -e 'tell application "iTunes" to quit'

Launching containers into space


Acties:
  • 0 Henk 'm!

Anoniem: 324429

Even tussendoor dan...
Waarom niet gewoon schermdeling gebruiken?

Acties:
  • 0 Henk 'm!

  • Whieee
  • Registratie: Augustus 2001
  • Laatst online: 09-07 19:19

Whieee

Moderator Apple Talk

⌘ + ⌥ + ⎋

Schermdeling kan een hele goede optie zijn om 'even iets te doen'. Wanneer je echter in scripts zaken wil automatiseren, kunnen ssh en shellscripting en applescripting een goed alternatief zijn. Beide opties zijn uiteraard valide.

Een voorbeeld:
Stel, ik heb een Mac mini welke ik als mediacenter heb ingericht. Deze Mac mini draagt de naam MediaMini.local en logt automatisch in met de gebruiker 'mediauser'. Nu wil ik graag dat op het moment dat ik inlog en ik verbonden ben met mijn draadloze netwerk thuis, mijn Mac mini automatisch begint met het afspelen van een playlist "Work Music". Als ik niet thuis ben moet iTunes lokaal gestart worden en moet daar dezelfde playlist aangezet worden. Dit moet uiteraard automatisch gebeuren.

De stappen:
1. Password-less login op de Mac mini:
Creëer een keypair met ssh-keygen. Dit genereert 2 files, namelijk 'id_rsa' en 'id_rsa.pub'. De file 'id_rsa' plaats ik in ~/.ssh/ met permissies 600 (volledige toegang voor owner, geen toegang voor group en other). De inhoud van 'id_rsa.pub' plaats ik op MediaMini.local in /Users/mediauser/.ssh/authorized_keys.

2. Om ons huidige SSID te weten, maak ik gebruik van de 'airport' utility, welke ik voor het gemak even wil symlinken op een makkelijke locatie.
cd /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources
sudo ln -s `pwd`/airport /usr/sbin/airport


3. We schrijven een klein script (fouten voorbehouden, ik heb dit niet getest):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#/usr/bin/env bash

# definitie van constanten
_MYSSID="WhieeeWireless"
_MYPLAYLIST="Work Music"
_RUSER="mediauser"
_RHOST="MediaMini.local"

# Wat is mijn huidige SSID?
_CURSSID=$(/usr/sbin/airport -I | grep " SSID" | cut -d : -f 2 | cut -c2-)

# als het SSID klopt, start iTunes
if [ $_CURSSID == $_MYSSID ]; then
  ssh $_RUSER@$_RHOST open -a iTunes 
  ssh $_RUSER@$_RHOST osascript -e 'tell application "iTunes" to play playlist "$_MYPLAYLIST"'
else
  open -a iTunes
  osascript -e 'tell application "iTunes" to play playlist "$_MYPLAYLIST"'
done 

exit 0


Vervolgens kan je dit script aan laten roepen bij login, of maak je je eigen launchd agent waarmee je nog meer vrijheid hebt. Keuze alom :)


Misschien is het een idee om een CLI/scripting topic te maken? Indien interesse, stuur even een PM :)

[ Voor 82% gewijzigd door Whieee op 02-11-2010 19:05 ]

Launching containers into space


Acties:
  • 0 Henk 'm!

Anoniem: 324429

Klopt, alleen leek iTunes opnieuw opstarten mij niet echt een handeling die je dagelijks (of elk uur, want dan pas loont het om hiervoor een scriptje te draaien imho) uitvoert naar een andere mac. En restarten ook niet.
En in beperkte mate kun je ook scheduled unix commands versturen via ARD.

[ Voor 15% gewijzigd door Anoniem: 324429 op 01-11-2010 14:21 ]


Acties:
  • 0 Henk 'm!

  • Whieee
  • Registratie: Augustus 2001
  • Laatst online: 09-07 19:19

Whieee

Moderator Apple Talk

⌘ + ⌥ + ⎋

Anoniem: 324429 schreef op maandag 01 november 2010 @ 14:19:
Klopt, alleen leek iTunes opnieuw opstarten mij niet echt een handeling die je dagelijks (of elk uur, want dan pas loont het om hiervoor een scriptje te draaien imho) uitvoert naar een andere mac. En restarten ook niet.
En in beperkte mate kun je ook scheduled unix commands versturen via ARD.
ARD is niet Screen Sharing uiteraard. En gezien de prijs die Apple vraagt voor Apple Remote Desktop, kan je ervan uitgaan dat de meeste mensen hier dat pakket niet hebben. Maar dat neemt uiteraard niet weg dat je met ARD toffe dingen kan doen :)

Launching containers into space


Acties:
  • 0 Henk 'm!

Anoniem: 324429

Klopt, unix/ARD had beter los kunnen staan hiervan :)
Pagina: 1