Linux-magazine.it Forum
Ottobre 25, 2014, 05:42:43 pm *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?
 
   Indice   programmazione windows internet videogame Aiuto Ricerca Agenda Accedi Registrati  
Pagine: 1 [2]   Vai giù
  Stampa  
Autore Discussione: [RISOLTO] NAS e script per wake on lan  (Letto 7253 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
michele.p
Administrator
Hero Member
*****

Karma: +56/-45
Scollegato Scollegato

Messaggi: 8003



Mostra profilo
« Risposta #15 inserita:: Novembre 16, 2012, 09:46:22 pm »

Fagli fare un'altra verifica, utilizzando proprio il ritorno di ping. :-) ...se 0 ripeti altrimenti esci e fai la tal cosa X.
Per fargli aspettare TOT tempo puoi/potete utilizzare sleep (man sleep per ulteriori informazioni). :-)

Bye 8-)
Registrato

SANDMAN972
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 12


Mostra profilo E-mail
« Risposta #16 inserita:: Novembre 17, 2012, 01:02:14 pm »

Scusa Michele, non ho capito...sono veramente a zero con lo scripting bash.  Ghigno

Come posso fare perchè il ciclo di ping continui fino a quando non ha una risposta positiva? Perchè cosi lo script esce immediatamente, se l'IP è pingabile mi apre il file manager (e quello va bene), mentre se è down mi manda il messaggio e basta.
Se facessi una cosa cosi?

Codice:
#!/bin/bash

ping -c 1 -t 1 192.168.0.9

if [ $? -eq 0 ]; then
    caja smb://nsa320/;
else
    sleep 5s;
    /home/utente/./provaNAS.sh;
fi

In pratica, quando l'IP è down lo script esegue nuovamente se stesso dopo una pausa di 5 secondi. Potrebbe funzionare?
Registrato
Argos
Hero Member
*****

Karma: +11/-8
Scollegato Scollegato

Messaggi: 1728



Mostra profilo E-mail
« Risposta #17 inserita:: Novembre 18, 2012, 05:19:18 pm »

...e così?:
Codice:
#!/bin/bash

ping -c 1 -t 1 192.168.0.9

if [ $? -eq 0 ]; then
    caja smb://nsa320/;
    sleep 5s;
elif [ $? -eq 0 ]; then
      caja smb://nsa320/;
      sleep 5s;
elif [ $? -eq 0 ]; then
      caja smb://nsa320/;
      sleep 5s;
else
    echo "ip is down";
fi

 Occhi al cielo
« Ultima modifica: Novembre 18, 2012, 05:23:39 pm da Argos » Registrato

"Ciò che non mi uccide, mi fortifica."

                               Friedrich Wilhelm Nietzsche.
Argos
Hero Member
*****

Karma: +11/-8
Scollegato Scollegato

Messaggi: 1728



Mostra profilo E-mail
« Risposta #18 inserita:: Novembre 19, 2012, 04:56:39 pm »

scusate la doppia risposta  Linguaccia , ma ho scoperto che esiste una applicazione molto simpatica:

http://ubuntrucchi.wordpress.com/2009/02/16/gigolo-un-simpatico-gestore-di-connessioni/

incuriosisce vero?  Occhi al cielo
Registrato

"Ciò che non mi uccide, mi fortifica."

                               Friedrich Wilhelm Nietzsche.
SANDMAN972
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 12


Mostra profilo E-mail
« Risposta #19 inserita:: Novembre 20, 2012, 08:06:51 pm »

Scusate il ritardo, sono un pò preso in questi giorni... Broncio

Allora Argos, ho provato i due script, sia il mio sia quello da te suggerito...in tutti e due i casi, lo script fa la chiamata per il wakeonlan, va in sleep 5 secondi e poi cerca di aprire la finestra del filemanager senza aspettare che il ping sia positivo, quindi dando errore. Mah???  Pianto

Per gigolo molto carino, veramente.  Sorriso
Registrato
michele.p
Administrator
Hero Member
*****

Karma: +56/-45
Scollegato Scollegato

Messaggi: 8003



Mostra profilo
« Risposta #20 inserita:: Novembre 21, 2012, 12:30:22 am »

CHe tipo di errore?

Bye 8-)
Registrato

SANDMAN972
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 12


Mostra profilo E-mail
« Risposta #21 inserita:: Novembre 21, 2012, 08:17:23 am »

Beh, l'errore dipende dal fatto che caja (il file manager) tenta di aprire una connessione remota (smb://nsa320/) che non è ancora disponibile sulla rete. Ora non ricordo le parole precise, ma è una cosa del tipo "Failed to open remote directory", una cosa cosi. Il problema è che gli script non aspettano che il ping del NAS abbia una risposta positiva, prima di lanciare il comando di apertura del file manager.  Indeciso
Registrato
Argos
Hero Member
*****

Karma: +11/-8
Scollegato Scollegato

Messaggi: 1728



Mostra profilo E-mail
« Risposta #22 inserita:: Novembre 21, 2012, 02:29:33 pm »

...se si potesse sfruttare l'output del comando  dmesg  come valore di variabile passato a While loop?

Ho fatto un'altro da provare  Ghigno :

Codice:
#!/bin/sh
#scrip di prova per connessione a NAS locale su 192.168.0.9

ANSWER=0                           # Risposta positiva del NAS

wakeonlan B7:B5:AC:5F:4B:9C        # Lancia il wake on lan

echo "In attesa del NAS..."

ping -c 1 -t 1 192.168.0.9         # Pinga l'indirizzo del NAS

while read PING
do
        # Verifica disposizione NAS...
        if [ "$?" -eq "$ANSWER" ]; then
              caja smb://nsa320/
              exit
        else
              echo " Il NAS non'è pronto..."
        fi
done

...cosa fa?  Ghigno

ore 16:36.05 Scrivo nello stesso post per non creare doppie risposte:

...credo che con quest'ultimo ci siamo  Occhiolino :

Codice:
#!/bin/sh
#scrip di prova per connessione a NAS locale su 192.168.0.9

wakeonlan B7:B5:AC:5F:4B:9C      # Lancia il wake on lan

#Inizio "resta in attesa del NAS":
echo "In attesa del NAS..."; sleep 5s

#Inizio ciclo infinito:
while true
do
             # Verifica disposizione NAS...
        
             ping -c 1 -t 1 192.168.0.9 &&
             caja smb://nsa320/;
             sleep 5s
done

...solo che il terminale rimane "aperto" fin quando non li dai Ctrl+c, ma ci sara poi il modo con "bash trap" credo  Occhi al cielo

Ore 17:37 Scrivo nello stesso post per non creare doppie risposte:

...ultima riga aggiunta (commento riga 14):
Codice:
#!/bin/sh
#scrip di prova per connessione a NAS locale su 192.168.0.9

wakeonlan B7:B5:AC:5F:4B:9C      # Lancia il wake on lan

#Inizio "resta in attesa del NAS":
echo "In attesa del NAS..."; sleep 5s

#Inizio ciclo infinito:
while true
do
             # Verifica disposizione NAS...
        
             ping -c 1 -t 1 192.168.0.9 &&
             caja smb://nsa320/;                  
             echo "premere la combinazione dei tasti: Ctrl+c per chiudere...";              # mancava questa riga per indicare di chiudere il terminale :)
             sleep 5s
done
« Ultima modifica: Novembre 21, 2012, 05:36:52 pm da Argos » Registrato

"Ciò che non mi uccide, mi fortifica."

                               Friedrich Wilhelm Nietzsche.
SANDMAN972
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 12


Mostra profilo E-mail
« Risposta #23 inserita:: Novembre 21, 2012, 11:56:04 pm »

Allora, grazie a tutti. Direi che alla fine abbiamo risolto, stasera tempesta di cervelli durante la serata linux tra amici e ci siamo saltati fuori.  Ghigno

Ecco lo script funzionante:

Codice:
#!/bin/bash
#Lancia il wake on lan
wakeonlan B7:B5:D4:6F:5A:8D

#Esegue il ping sull'indirizzo IP fino a quando non è attivo
while true; do
ping -c 1 -t 1 192.168.0.9
if [ $? -eq 0 ];
then
caja smb://nsa320/;
exit;
else
    sleep 1s;
$?=0;
fi
done

Cosi fa esattamente quello che deve...pinga l'indirizzo IP, e ripete il ping sino a quando non ha una risposta positiva. Appena ce l'ha, apre la condivisione remota con caja. Perfetto!!!  Ghigno
Registrato
Pagine: 1 [2]   Vai su
  Stampa  
 
Vai a: