× Benvenuti sul nostro forum su Sint Wind PI!

Postate qui domande o segnalate problemi / bug che riscontrate,

question-circle File LOG su SD unico e pesante dopo diversi giorni

More
7 years 6 months ago #7894 by tony
Stavo rispondendo esattamente come fatto da Roberto.
Credo che sei cmq sulla buona strada.
TT

Please Log in to join the conversation.

More
7 years 6 months ago - 7 years 6 months ago #7895 by asy961
Allora....
ho seguito i consigli di Roberto ma ho fatto solo piccoli progressi...
controllando i file indicati da Roberto ho visto che all'avvio il sistema legge la data/ora dal file /etc/fake-hwclock.data che essendo in una partizione protetta (ro) non può essere aggiornato dal sw.....
da questo è stato necessario creare un symlink, come suggerito da Ulisse, che punti il file in una partizione che consenta al sw di aggiornarlo,
quindi ho seguito le indicazioni di Ulisse spostando il file fake-hwclock.data nella cartella /swpi/log.......
il problema a questo punto è fargli leggere all'avvio il file fake-hwclock.data aggiornato, infatti, come si vede nella foto del mio post precedente , quando creo il symlink /etc/fake-hwclock.data verso /swpi/log/fake-hwclock.data il sistema all'avvio non riesce a leggere il file restituendo un messaggio che il file non esiste,
impostando cosi la data di default 01/01/1970, mentre invece durante il funzionamento lo 'scrive' regolarmente (nel file /swpi/log/fake-hwclock.data) aggiornando la data/ora al suo interno...
invece se lascio il file originale /etc/fake-hwclock.data il sistema all'avvio legge il file correttamente ( vedi altro mio post ) ma non può aggiornare il file (in partizione ro) quindi restiamo nella stessa situazione...

c'è da dire però che swpi quando parte ha già la data giusta

[30/05/2017-22:11:49] Dir: E - Spd: 0.0 - Gst: 0.0 - Tout: 28.8 - Tin: 30.3 - Hout: 43.0 - Hin: 39.3 - P: 1020 - Rtot: 0.0 - RDay: 0.0 - R1h: 0.0 - R24h: 0.0 - CB: 1717 - Trend: 0.00
[30/05/2017-22:12:05] Last main Thread delay ratio: 0.6
/
/
[31/05/2017-07:30:03] Starting SINT WIND PI  ... 
************************************************************************
*                      Sint Wind PI 01.24.03                           *
*                                                                      *
*          2012-2017 by Tonino Tarsi  <tony.tarsi@gmail.com>           *
*                                                                      *
*     System will start in 10 seconds - Press Ctrl-C to cancel         *
************************************************************************
10.....9.....8.....7.....6.....5.....4.....3.....2.....1.....
[31/05/2017-07:30:16] loading plugins
[31/05/2017-07:30:16] Starting sensor reading - Sensor type is : WH1080_RTL-SDR
[31/05/2017-07:30:16] Config Server running on port 80
[31/05/2017-07:30:16] Checking internet connection ...
[31/05/2017-07:30:16] Internet ok
[31/05/2017-07:30:16] Checking internet connection ...
[31/05/2017-07:30:16] Internet ok
mer 31 mag 2017, 07.30.16, CEST
[31/05/2017-07:30:16] System time adjusted from NTP server : europe.pool.ntp.org
[31/05/2017-07:30:16] Connected with IP :213.82.205.73
[31/05/2017-07:30:16] Starting General WatchDog
mer 31 mag 2017, 07.30.17, CEST
[31/05/2017-07:30:17] System time adjusted from NTP server : europe.pool.ntp.org
[31/05/2017-07:30:17] RTL-SDR-compatible USB DVB-T dongle detected.
[31/05/2017-07:30:22] Warning could not delete wh1080-rtl_433.txt file
[31/05/2017-07:30:22] Starting RF listening
[31/05/2017-07:31:02] First data received from WH1080_RTL-SDR, station 0011. Processing...
[31/05/2017-22:11:50] BME280 - Temperature: 30.6 C Pressure:    1018.9 humidity 44
[31/05/2017-22:11:50] Calculating Meteo data and statistics
[31/05/2017-22:11:52] Logging data to Database
[31/05/2017-22:11:52] Dir: E - Spd: 0.0 - Gst: 0.0 - Tout: 28.8 - Tin: 30.6 - Hout: 47.0 - Hin: 43.5 - P: 1022 - Rtot: 0.0 - RDay: 0.0 - R1h: 0.0 - R24h: 0.0 - CB: 1548 - Trend: 0.00
/
/
[01/06/2017-07:29:54] Starting SINT WIND PI  ... 
************************************************************************
*                      Sint Wind PI 01.24.03                           *
*                                                                      *
*          2012-2017 by Tonino Tarsi  <tony.tarsi@gmail.com>           *
*                                                                      *
*     System will start in 10 seconds - Press Ctrl-C to cancel         *
************************************************************************
10.....9.....8.....7.....6.....5.....4.....3.....2.....1.....
[01/06/2017-07:30:07] loading plugins
[01/06/2017-07:30:07] Starting sensor reading - Sensor type is : WH1080_RTL-SDR
[01/06/2017-07:30:07] Config Server running on port 80
[01/06/2017-07:30:07] Checking internet connection ...
[01/06/2017-07:30:08] Internet ok
[01/06/2017-07:30:08] Checking internet connection ...
[01/06/2017-07:30:08] Internet ok
gio  1 giu 2017, 07.30.08, CEST
[01/06/2017-07:30:08] System time adjusted from NTP server : europe.pool.ntp.org
[01/06/2017-07:30:08] Connected with IP :213.82.205.73
[01/06/2017-07:30:08] Starting General WatchDog
gio  1 giu 2017, 07.30.08, CEST
[01/06/2017-07:30:08] System time adjusted from NTP server : europe.pool.ntp.org
[01/06/2017-07:30:08] RTL-SDR-compatible USB DVB-T dongle detected.
[01/06/2017-07:30:13] Warning could not delete wh1080-rtl_433.txt file
[01/06/2017-07:30:13] Starting RF listening
[01/06/2017-07:31:03] First data received from WH1080_RTL-SDR, station 0011. Processing...

ma il file log viene scritto sempre con la data 01011970 quindi non produce i file giornalieri ma scrive sempre lo stesso.....

manca davvero poco ma credo di essere al mio limite.....

Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah
Last edit: 7 years 6 months ago by asy961.

Please Log in to join the conversation.

More
7 years 5 months ago #7896 by seven
Provo a mettere anch'io i miei 10 cents allegando questo scriptello in Python che riceve l'output direttamente da swpi.sh e provvede (una riga alla volta) a salvarlo in un file di log che reca il nome della data in cui è stato creato (tipo log05062017.log), un po' quello che nell'idea originaria avrebbe dovuto fare swpi.sh stesso (ma che non lo fa in quanto purtroppo non aggiorna la data una volta lanciato).

Basta copiare l'allegato loghelper.py in /swpi, cambiargli i permessi (chmod) a 755 e modificare swpi.sh sostituendo il suo contenuto con quanto segue:

#! /bin/bash

cd /home/pi/swpi
sudo python -u swpi.py 2>&1 | /swpi/loghelper.py 

Riavviare infine Swpi (o la Rasp). Da questo momento i dati di log verranno sparati correttamente nel file relativo alla data attuale, mentre rimane inalterato il log "davis_xxxx2017.log" che mi pare non soffra di questo problema. Al cambio data di mezzanotte verrà creato un nuovo datalog che riceverà i dati delle successive 24 ore e così via.

Naturalmente resta aperto il problema della data esatta: se la Rasp non potesse connettersi al suo avvio ad un server NTP, creerà il file di log secondo la data che
più le aggrada.... In questo caso però mi sento di suggerire l'investimento dei pochissimi euro necessari all'acquisto di un modulo RTC (Real Time Clock) come quelli che è possibile trovare qui (a puro titolo di esempio) : l'installazione/configurazione è abbastanza semplice e ci si toglie il problema una volta per tutte.


File Attachment:

File Name: loghelper.py
File Size:1 KB



Ciaoo! :)
Attachments:

Please Log in to join the conversation.

More
7 years 5 months ago #7898 by asy961
Ciao Nicola,
ho provato le tue indicazioni ma con V.2 non funzionano....

riguardo al modulo RTC ci avevo già pensato ma avevo letto che anche lui scrive il file etc/fake-hwclock.data e quindi saremo daccapo.....
sai dirmi di più su quest'argomento?

Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah

Please Log in to join the conversation.

More
7 years 5 months ago #7899 by ulisse
Se lanciando fake-hwclock manualmente il file viene aggiornato, mi viene da pensare che il servizio venga eseguito prima che la partizione sia stata montata...

Valerio, prova a cambiare la priorità di avvio del servizio con i seguenti comandi e guarda cosa succede:
rw
sudo mv /etc/rcS.d/S01fake-hwclock /etc/rcS.d/S99fake-hwclock
ro

Please Log in to join the conversation.

More
7 years 5 months ago - 7 years 5 months ago #7900 by asy961
no Ulisse, il file fake-hwclock nella cartella etc non viene mai aggiornato....
si aggiorna solo il file fake-hwclock nella cartella swpi/log dopo che ho creato il symlink...
il problema è che il sistema, in avvio, non riesce a leggere il file in swpi/log e quindi non aggiorna la data mettendo come data di default 01011970....
bisognerebbe risolvere questo....

Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah
Last edit: 7 years 5 months ago by asy961.

Please Log in to join the conversation.

More
7 years 5 months ago #7901 by ulisse
è appunto quello che intendevo!
Il file nella cartella /etc non può mai essere aggiornato in quanto è in sola lettura, ma una volta creato il link il file risiede "fisicamente" in un'altra partizione.
Se all'avvio il sistema va a cercare il file ma la partizione non è ancora montata, il link punta ad un file inesistente.

Please Log in to join the conversation.

More
7 years 5 months ago #7902 by seven

asy961 wrote: Ciao Nicola,
ho provato le tue indicazioni ma con V.2 non funzionano....

riguardo al modulo RTC ci avevo già pensato ma avevo letto che anche lui scrive il file etc/fake-hwclock.data e quindi saremo daccapo.....
sai dirmi di più su quest'argomento?


Ciao Valerio,
puoi verificare a questo link che tra le operazioni da eseguire per abilitare il modulo Real Time Clock c'è proprio quella di rimuovere in toto il pacchetto fake-hwclock in quanto interferisce con il vero (RTC) "hwclock" che stiamo installando:


Disable the "fake hwclock" which interferes with the 'real' hwclock
sudo apt-get -y remove fake-hwclock
sudo update-rc.d -f fake-hwclock remove


Per quanto riguarda lo script che non funziona con la V.2 farò una prova al più presto per vedere qual è il problema, sperando di risolverlo e postare poi lo script aggiornato.

Please Log in to join the conversation.

More
7 years 5 months ago #7903 by asy961

ulisse wrote: Se lanciando fake-hwclock manualmente il file viene aggiornato, mi viene da pensare che il servizio venga eseguito prima che la partizione sia stata montata...

Valerio, prova a cambiare la priorità di avvio del servizio con i seguenti comandi e guarda cosa succede:

rw
sudo mv /etc/rcS.d/S01fake-hwclock /etc/rcS.d/S99fake-hwclock
ro






Ulisse....non funziona nemmeno questo....

Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah

Please Log in to join the conversation.

More
7 years 5 months ago #7904 by seven
Giusto un aggiornamento: ho provato lo scriptello python di cui a questo post anche sulla versione 2 ed ha funzionato al primo colpo. Se vogliamo essere pignoli, siccome trasferisce sul log una riga intera per volta, in console non si vedrà il count-down iniziale un secondo alla volta come al solito, ma solo dopo che sarà terminato apparirà la riga tutta intera
(10.....9.....8.....7.....6.....5.....4.....3.....2.....1.....). Naturalmente ciò non influisce in alcun modo sul file di log, che si presenta esattamente come dovrebbe essere.

Per quanto riguarda il fake-hwclock confermo che spostarlo su una directory scrivibile e linkarlo da /etc non funziona, nemmeno mettendolo a S99 come (giustamente) suggeriva Ulisse. Probabilmente il sistema operativo va a leggersi il file nel primissimo stadio di avvio e per qualche motivo non lo trova, e non trovandolo assume come ora di sistema l'ora Unix 0 che equivale all' 1/1/1970.

Una soluzione potrebbe essere quella di rimetterlo al suo posto (/etc/fake-hwclock.data), mettere periodicamente -diciamo una volta ogni ora- (via CRON) il sistema in RW, fargli fare l'update del file e poi rimetterlo in sola lettura, ma ne varrà la pena?... Il rischio è che (con un po' di sfiga...) il sistema rebooti proprio in quei secondi di RW, mandando all'aria la sicurezza fornita dall'RO che caratterizza il sistema normalmente.

Resto quindi dell'opinione che un modulo RTC sia quanto mai indispensabile in casi come questo e insieme allo script python possa risolvere il problema in maniera definitiva: Il RTC fornirà al sistema la data corretta anche dopo un reboot, lo script gestirà correttamente i file di log secondo la data di creazione.

Valerio, se ancora lo script non ti funziona mi posteresti il contenuto del tuo swpi.sh e che tipo di errore ti dà? Ovviamente partiamo dal fatto che la data deve essere corretta, altrimenti... No che non funziona! :)

Please Log in to join the conversation.

More
7 years 5 months ago #7912 by asy961
Ciao Nicola, scusa ma in questi giorni ho un pò di impegni e non sono tanto presente sul forum...
per il momento ho spento il raspi che tengo al banco per le prove.....
cmq errori non ne da...nemmeno con il tuo script....solo che non genera i file log come hai descritto
per la data corretta cosa intendi?? quando si accende è 01011970 poi si aggiorna tramite ntp come sempre.....
l'uovo di colombo è riuscire a far scrivere il file /etc/fake-hwclock altrimenti....

ho cmq ordinato l'rtc.....appena arriva riprendo gli esperimenti.....intanto se avete qualche altra idea io resto sintonizzato.....

Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah

Please Log in to join the conversation.

More
7 years 5 months ago #7913 by roberto2011
Googlando ho trovato questo link non se può essere utile
hallard.me/raspberry-pi-read-only/

Sensori Davis +BME280 + Raspberry b+ webCam serrasanta.fleanet.it (Eremo di Serrasanta - Gualdo Tadino - 1.340 m s.l.m.)

Please Log in to join the conversation.

More
7 years 5 months ago #7914 by seven
Grazie Roby per il link. A titolo di curiosità, hai visto come suggerisce di fare?... :cheer:

if (command -v fake-hwclock >/dev/null 2>&1) ; then
  mount -o remount,rw /
  fake-hwclock save
  mount -o remount,ro /
fi


... Un comando Cron mette periodicamente il sistema in RW, gli fa salvare data ed ora di fake-hwclock e poi rimette il sistema in RO :P :P :P


@Valerio: nessun problema, tranquillo. Per curiosità: quando avrai tempo potresti fare una prova di questo genere? Ferma il processo di SWPI, cancella tutti i files di log in /swpi/log e poi riavvia la Raspberry: dopo qualche minuto dovresti trovare sia il log del 1/1/1970 (creato nei primi istanti di avvio di swpi) che quello della data corrente (creato non appena la Raspberry sincronizza la data con NTP). Giusto per curiosità! ;)

Please Log in to join the conversation.

More
7 years 5 months ago #7917 by asy961
Nicola il tuo script non mi funziona....
crea solo il file log01011970.log e nient'altro....
anche il conto alla rovescia che tu dici di vederlo in consolle tutto insieme non va, a me continua a fare il conto alla rovescia normalmente....
ho ricontrollato riga per riga il file swpi.sh ed è corretto....
ho ricontrollato il file loghelper.py ed è corretto....
non saprei


@roberto
proverò la soluzione indicata nel tuo link...
se funziona proverò a tenerlo acceso qualche giorno in test.....
a dire il vero a me basterebbe che il cron fosse giornaliero, una volta all'inizio del giorno, non ha importanza che si aggiorni ogni ora...

Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah

Please Log in to join the conversation.

More
7 years 5 months ago #7919 by seven
Valerio,
se vedi ancora il conto alla rovescia secondo per secondo allora no che non ci siamo, però solo il Grande Giove sa il perché :cheer:

L'unica cosa che mi viene in mente è che ci sia una magagna nel batch (swpi.sh), che non lancia correttamente lo script... Una piccola svista c'è in verità, ma almeno nei miei test è irrilevante, però se vuoi prova. Va trasformato così:
#! /bin/bash

cd /home/pi/swpi
sudo python -u swpi.py 2>&1 | ./loghelper.py 


Per completezza di informazione ti rammento che loghelper.py va copiato direttamente in /swpi (dove ci sono tutti gli altri files python che compongono Swpi), va posto come permessi (chmod) a 755 e per sicurezza riassegna il proprietario (chown) a pi:root .

Davvero più di così non mi viene in mente altro, il passo successivo potrebbe essere solo il connettermi in remoto alla tua Rasp per capire cosa (non) fa! :cheer:

Please Log in to join the conversation.

More
7 years 5 months ago #7920 by asy961
Ciao Nicola,
grazie come sempre per l'impegno che ci metti....
nonostante le ultime dritte che mi hai dato, sul mio sistema non funziona....
sto testando invece le modifiche indicate nel link di Roberto e pare che funzionino....

devo dire però che ho smanettato un bel pò su questa immagine e dovrei riprovare le tue modifiche ripartendo da un immagine pulita.....
lo farò in questi giorni e farò sapere.... ;-)

Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah

Please Log in to join the conversation.

More
6 years 8 months ago #8102 by SkizZO
ragazzi ma alla fine ci siete riusciti?

Please Log in to join the conversation.

More
6 years 8 months ago #8105 by asy961
No, per altri impegni ho abbandonato questo tipo di prove al momento,
ci rimetterò le mani più avanti quando il tempo me lo premetterà,
però se nel frattempo qualcu'naltro risolve avrà la mia gratitudine

Valerio

Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah

Please Log in to join the conversation.

More
6 years 6 months ago #8225 by SkizZO
Hola,
ho fatto un plugin che ogni ora (impostabile) mette il sistema in RW, scrive la data di istema ed aggiorna il fake hwclock, e lo rimette in ro.

Funziona tutto alla grande, avendo impostato il reboot alle 23:59 visualizzo sempre il log nominato "un giorno prima", ma ne crea di nuovi ad ogni reboot, senza modificare null'altro (se non nell'installare il plugin).

Lo trovi a questo indirizzo nel mio ultimo post (serve anche a non far perdere i valori della pioggia al reboot, se impostato ad 1h):

www.vololiberomontecucco.it/vlmc/index.p...la-pioggia-al-reboot

Please Log in to join the conversation.

More
6 years 6 months ago #8226 by asy961
Grazie, per lo scopo del post basterebbe che la scrittura avvenisse solo una volta al giorno.....
cmq grazie, appena posso lo proverò, le stazioni che seguo sono in montagna e non ho controlli remoti ma devo intervenire sul luogo.....

Valerio

Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah

Please Log in to join the conversation.

More
5 years 10 months ago - 5 years 10 months ago #8366 by asy961
Dunque......
grazie a Ciaschini che in questo post

www.vololiberomontecucco.it/vlmc/index.p...oggia-al-reboot#8177

mi ha dato un'idea che ho provato per diverse settimane e pare funzioni senza effetti collaterali.......

in pratica sfruttando l'idea faccio scrivere la data e l'ora una sola volta all'avvio di swpi cercando di limitare al massimo il sistema in modalità rw.....

io ho fatto cosi......

in TTLib.py ho aggiunto queste righe





e in swpi.py queste altre prima dell'avvio di swpi (conto alla rovescia)





e adesso genera un file log per ogni giorno......

Tony che ne pensi?


Valerio.



.

Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah
Attachments:
Last edit: 5 years 10 months ago by asy961.

Please Log in to join the conversation.

Time to create page: 0.826 seconds