[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

comportamento script differente da bash a cron



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


Reply to: