|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Feb 2008
Messaggi: 29
|
File Batch per ubuntu
Ciao, ho un impianto fotovoltaico monitorato da un datalogger che fa anche da web server.
Il datalogger invia i dati ad una pagina web per visualizzarli e funziona tutto alla grande. Dovrei inviare i dati anche ad una seconda pagina web ma il datalogger non lo può fare. Un mio conoscente ci è riuscito scrivendo un file batch di DOS per eseguire l'operazione ad intervalli di tempo prefissati, purtroppo (per lui) utilizza Winzozz mentre io utilizzo Ubuntu. Ho provato a capire come trasformare il file batch di DOS in script di shell, ma le mie conoscenze informatiche non me lo consentono, dopo svariate notti insonni a cercare di capire mi sono arreso, qualcuno può aiutarmi per favore ? Il file Batch è il seguente : Codice HTML:
setlocal set giornojs="min%date:~-2,4%%date:~-7,2%%date:~-10,2%.js" del ftp1.txt echo open robipal.altervista.org >> ftp1.txt echo user nomeutente password >> ftp1.txt echo binary >> ftp1.txt echo cd fvcasa >> ftp1.txt echo get base_vars.js>> ftp1.txt echo get months.js>> ftp1.txt echo get years.js>> ftp1.txt echo get days.js>> ftp1.txt echo get days_hist.js>> ftp1.txt echo get events.js>> ftp1.txt echo get events_day.js>> ftp1.txt echo get min_day.js>> ftp1.txt echo get min_cur.js>> ftp1.txt echo get %giornojs%>> ftp1.txt echo quit >> ftp1.txt ftp -n -s:ftp1.txt setlocal set giornojs="min%date:~-2,4%%date:~-7,2%%date:~-10,2%.js" del ftp2.txt echo open home.solarlog-web.it >> ftp2.txt echo user nomeutente pasword >> ftp2.txt echo binary >> ftp2.txt echo cd 83 >> ftp2.txt echo send base_vars.js>> ftp2.txt echo send months.js>> ftp2.txt echo send years.js>> ftp2.txt echo send days.js>> ftp2.txt echo send days_hist.js>> ftp2.txt echo send events.js>> ftp2.txt echo send events_day.js>> ftp2.txt echo send min_day.js>> ftp2.txt echo send min_cur.js>> ftp2.txt echo send %giornojs%>> ftp2.txt echo quit >> ftp2.txt ftp -n -s:ftp2.txt |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 9516
|
in linux puoi anche accedere via bash
esempio: Codice:
#!/bin/bash -l HOST='ftp.xxxxx.it' USER='***' PASSWD='***' ftp -n -i $HOST <<END_SCRIPT quote USER $USER quote PASS $PASSWD (qui inserisci i comandi da dare) ... quit END_SCRIPT |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Feb 2008
Messaggi: 29
|
[quote=sacarde;33817715]in linux puoi anche accedere via bash
esempio: [code] #!/bin/bash -l HOST='ftp.xxxxx.it' USER='***' PASSWD='***' ....... non mi sono spiegato bene o non capisco io ; devo prelevare dei files da una directory dell'host "A" e devo poi inviarli in una directory dell'host "B", quindi devo solamente copiare i comandi del file batch dove mi hai messo Codice HTML:
(qui inserisci i comandi da dare) Perdonami ma le mie conoscenze informatiche sono veramente molto limitate |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 9516
|
beh si....
dopo aver fatto la connessione, poi eseguire i comandi ftp: get e send (chiaramente non occorre l'echo, ne' la redirezione >>.....) p.s. la riga "set giorno....ecc" non l'ho ancora capita Ultima modifica di sacarde : 02-12-2010 alle 16:27. |
![]() |
![]() |
![]() |
#5 |
Junior Member
Iscritto dal: Feb 2008
Messaggi: 29
|
Grazie Sacarde per i suggerimenti
La riga "set giorno...ecc" credo serva a selezionare il file del giorno corrente, infatti vedo che all'interno del sito altervista ogni giorno viene creato il file "mindatadioggi.js e rimangono quelli dei giorni precedenti. Stranamente ci sono anche tre file con date assurde : quello di oggi è "min101203.js" e poi ci sono anche "min180722.js" - "min180723.js" e "min180724". Il file bash posso poi lanciarlo da cron a intervalli stabiliti ? |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 9516
|
non ho ancora capito il comando "set giorno...ecc"
deve essere modificato per linux p.s. si si come qualsiasi altro script puo' essere eseguito a tempo con cron |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Sep 2008
Città: Roma
Messaggi: 1382
|
Quote:
Per ottenere il nome del file potresti fare così: echo min$(date +%y%m%y).js In pratica quello che sta tra le parentesi precedute da $ viene eseguito come comando, e il suo output viene stampato da echo come se fosse una normale stringa (come fa per "min" e ".js"). Ciao! |
|
![]() |
![]() |
![]() |
#8 |
Junior Member
Iscritto dal: Feb 2008
Messaggi: 29
|
non ho ancora avuto tempo di provare il file bash per il fotovoltaico.
Sto sistemando il sito della stazione meteo e , visto che mi servono anche per quello,sto capendo un po' alla volta le funzioni di wget, ncftp e cron. Grazie per i suggerimenti Vi farò sapere degli sviluppi |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:45.