Meerdere ssh commando's in 1 script

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Jeroen_ae92
  • Registratie: April 2012
  • Laatst online: 01-10 16:37
Mannen,

Ik wil een aantal ssh commando's laten aftrappen bij aanroep van een script. Onderstaande commando's werken per stuk en als ik ze tesamen in een script prop ook. Alleen werkt het niet volledig bij aanroep vanuit een AT task. Dan wordt namelijk alleen het eerste commando uitgevoerd. Ik denk dus dat ik iets fout doe. 8)7
Ik kan alleen niet vinden waar het mis gaat en google is me hiermee niet gunstig gezind.

Onderstaand de inhoud van putiton.sh
code:
1
2
3
4
5
6
7
#!/bin/bash
sshpass -p 'Passw0rd' ssh -t -t Username@10.0.1.222 'echo 1 > /proc/power/output3; exit'
sshpass -p 'Passw0rd' ssh -t -t Username@10.0.1.222 'echo 1 > /proc/power/output2; exit'
sshpass -p 'Passw0rd' ssh -t -t Username@10.0.1.221 'echo 1 > /proc/power/output1; exit'
sshpass -p 'Passw0rd' ssh -t -t Username@10.0.1.76 'echo 2 > /proc/gpio/led_pattern; wl scan; exit'
sshpass -p 'Passw0rd' ssh -t -t Username@10.0.1.77 'echo 2 > /proc/gpio/led_pattern; wl scan; exit'
exit;


Doel: Ik wil graag 1 script die meerdere commando's per device kan uitvoeren maar ook meerdere commando's kan doen naar meerdere devices.

U+


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 01-10 21:30

Hero of Time

Moderator LNX

There is only one Legend

Je hoeft niet speciaal nog 'exit' aan het einde van je commando's te zetten. Gewoon 'ssh user@machine <commando>' is genoeg. Je wilt voor dit soort dingen ook liever met ssh keys werken, dan zomaar in plain text je wachtwoord ergens in plempen. Je haalt dan ook gelijk de variabele van sshpass weg.
Waarom trouwens een AT taak ipv Cron?

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Jeroen_ae92
  • Registratie: April 2012
  • Laatst online: 01-10 16:37
Dat komt omdat dit script wordt aangeroepen door een AT commando die gepland wordt door een cron.
De cron draait dagelijks en haalt daarbij de tijd op dat de zon onder gaat.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash

SUNSET=`l=731469;curl -s http://weather.yahooapis.com/forecastrss?w=$l|grep astronomy| awk -F\" '{print $4}'`
SUNSET=`echo $SUNSET | awk '{print $1}'`
SUNSETH=`date +%_H --date=$SUNSET`
SUNSETM=`date +%_M --date=$SUNSET`
if [[ "$SUNSETM" -lt 15 ]]
then
    SUNSETH=$((SUNSETH+11))
        SUNSETM=$((SUNSETM+45))
        else
            SUNSETH=$((SUNSETH+12))
                SUNSETM=$((SUNSETM-15))
                fi
                LIGHTSON=`date +%H:%M --date=$SUNSETH:$SUNSETM`
                at -f /config/scripts/putiton.sh $LIGHTSON
                at -f /config/scripts/changewificolor.sh 0:00am


Om hier al die commando's in te krijgen was voor mij te hoog gegrepen. Ik begrijp je punt mbt ssh keys echter ik wil de commando's naar m'n accesspoints en mFi (ubiquiti) hebben voor een stukje verlichting aan etc. Wordt dus enkel binnenshuis gebruikt.

U+


  • Blubber
  • Registratie: Mei 2000
  • Niet online
Is er geen logging output ergens? Hoe weet je zeker dat de rest niet uitgevoerd wordt, bash zou door moeten gaan op het moment dat een commando geen 0 returned, tenzij je ergens set +x (als mijn geheugen nog werkt) doet. Misschien gooien die commands el errors.