xserver80
2011-07-06 17:20:02 UTC
Ciao a tutta la lista,
vi scrivo per un problema con uno script bash: ho bisogno di
connettere un server remoto con ssh inverso su un altro server.
Ho realizzato il seguente scriptino, integrando expect per l’invio
della password:
--------------------
#!/bin/bash
# Va eseguito tramite CRONTAB ogni 30 minuti
# es. crontab: 0,30 * * * * /etc/script /sshInverso.sh
echo "controllo se e' attivo il processo di ssh inverso."
if [ -n "`ps ax | grep 192.168.1.2 | grep ssh`" ]
then
echo "processo attivo, non eseguo nulla."
exit 0
else
echo "processo non attivo, do il comando per attivarlo"
expect -c "set timeout 5;\
spawn ssh -R 9000:127.0.0.1:22 -p 22 -l root
192.168.1.2 -f -N ;\
match_max 10000;\
expect *assword:*;\
send – mia_password\r;\
interact;"
fi
echo "esco"
exit 0
-----------------------
Il problema è che se eseguo lo script manualmente da bash funziona
correttamente, mentre da crontab non conclude l’esecuzione
correttamente e quindi non si crea il tunnel.
In particolare durante l’esecuzione “in cron” i parametri passati ad
expert non vengono eseguiti.
Non riesco a capire perché tramite cron non esegue correttamente questi comandi…
Avete qualche idea?
Grazie,
Federico
vi scrivo per un problema con uno script bash: ho bisogno di
connettere un server remoto con ssh inverso su un altro server.
Ho realizzato il seguente scriptino, integrando expect per l’invio
della password:
--------------------
#!/bin/bash
# Va eseguito tramite CRONTAB ogni 30 minuti
# es. crontab: 0,30 * * * * /etc/script /sshInverso.sh
echo "controllo se e' attivo il processo di ssh inverso."
if [ -n "`ps ax | grep 192.168.1.2 | grep ssh`" ]
then
echo "processo attivo, non eseguo nulla."
exit 0
else
echo "processo non attivo, do il comando per attivarlo"
expect -c "set timeout 5;\
spawn ssh -R 9000:127.0.0.1:22 -p 22 -l root
192.168.1.2 -f -N ;\
match_max 10000;\
expect *assword:*;\
send – mia_password\r;\
interact;"
fi
echo "esco"
exit 0
-----------------------
Il problema è che se eseguo lo script manualmente da bash funziona
correttamente, mentre da crontab non conclude l’esecuzione
correttamente e quindi non si crea il tunnel.
In particolare durante l’esecuzione “in cron” i parametri passati ad
expert non vengono eseguiti.
Non riesco a capire perché tramite cron non esegue correttamente questi comandi…
Avete qualche idea?
Grazie,
Federico
--
Per REVOCARE l'iscrizione alla lista, inviare un email a
debian-italian-***@lists.debian.org con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a ***@lists.debian.org
To UNSUBSCRIBE, email to debian-italian-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/***@mail.gmail.com
Per REVOCARE l'iscrizione alla lista, inviare un email a
debian-italian-***@lists.debian.org con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a ***@lists.debian.org
To UNSUBSCRIBE, email to debian-italian-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/***@mail.gmail.com