Eseguire istanze multiple
Introduzione
Ci sono alcune applicazioni in cui potresti voler eseguire più di un'istanza di Weewx. Potresti voler testare una nuova versione di Weewx usando il simulatore senza interrompere i dati dalla tua stazione meteorologica. Oppure potresti avere più di una stazione meteorologica da cui vorresti raccogliere i dati.
Stazioni meteo multiple, un'installazione Weewx
Puoi eseguire qualsiasi numero di istanze di Weewx da una singola installazione. Tuttavia, ogni istanza di Weewx deve avere il proprio:
- File di configurazione
- Database
- Rapporti
Supponiamo di avere due stazioni meteorologiche collegate a un singolo computer, una stazione è una Davis Vantage Pro installata in una casa e l'altra è una stazione Acurite installata in un paddock. Li identificheremo come 'house' e 'paddock'. Le istruzioni variano leggermente a seconda che tu abbia installato Weewx come pacchetto o tramite l'approccio setup.py. Queste variazioni sono evidenziate ove applicabile.
- Crea i file di configurazione. I file di configurazione possono essere nominati come preferisci; tuttavia, tieni presente che il nome del file stem verrà utilizzato in seguito con lo script init per controllare ogni istanza e nelle voci di registro. In genere, una singola parola descrittiva evidente è buono. Crea un file per ogni stazione, diciamo house.conf e paddock.conf. Metti questi file nella directory /etc/weewx:
Per installazioni setup.py:
sudo mkdir /etc/weewx sudo cp /home/weewx/weewx.conf /etc/weewx/house.conf sudo cp /home/weewx/weewx.conf /etc/weewx/paddock.conf
Per le installazioni con pacchetti:
sudo cp /etc/weewx/weewx.conf /etc/weewx/house.conf sudo cp /etc/weewx/weewx.conf /etc/weewx/paddock.conf
- Verificare le configurazioni del driver. In ogni file di configurazione, assicurati che station_type sia impostato correttamente. In house.conf:
[Station] ... station_type = Vantage [Vantage] ...
e in paddock.conf:
[Station] ... station_type = Acurite [Acurite] ...
- Verificare le configurazioni del database. In ogni file di configurazione, assicurati che ci sia un database univoco. In house.conf:
[Databases] [[archive_sqlite]] database_name = house.sdb database_type = SQLite [[archive_mysql]] database_name = house database_type = MySQL
e in paddock.conf:
[Databases] [[archive_sqlite]] database_name = paddock.sdb database_type = SQLite [[archive_mysql]] database_name = paddock database_type = MySQL
- Verificare le configurazioni dei rapporti. In ogni file di configurazione, assicurati che HTML_ROOT sia univoco. In house.conf:
[StdReport] HTML_ROOT = public_html/house ...
e in paddock.conf:
[StdReport] HTML_ROOT = public_html/paddock ...
- Configura lo script di avvio.
Se stai utilizzando systemd , consulta i dettagli sulle istanze multiple nella pagina Eseguire Weewx sotto systemd e ignora il resto di questa sezione.
Se stai usando initscripts , usa l'init script weewx-multi per avviare ogni istanza all'avvio del computer. Lo script init weewx-multi può essere trovato in /home/weewx/util/init.d se Weewx è stato installato con l'approccio setup.py. Se Weewx è stato installato come pacchetto, dovrai scaricarlo dal repository GitHub di Weewx.
Per installazioni setup.py:
sudo cp util/init.d/weewx-multi /etc/init.d/weewx sudo update-rc.d weewx defaults echo 'WEEWX_INSTANCES="house paddock"' | sudo tee /etc/default/weewx-multi echo 'WEEWX_CFGDIR=/etc/weewx' | sudo tee -a /etc/default/weewx-multi
Per installazioni con pacchetti:
wget -P /var/tmp https://raw.githubusercontent.com/weewx/weewx/master/util/init.d/weewx-multi sudo cp /var/tmp/weewx-multi /etc/init.d/weewx sudo update-rc.d weewx defaults echo 'WEEWX_INSTANCES="house paddock"' | sudo tee /etc/default/weewx-multi echo 'WEEWX_CFGDIR=/etc/weewx' | sudo tee -a /etc/default/weewx-multi echo 'WEEWX_BINDIR=/usr/share/weewx' | sudo tee -a /etc/default/weewx-multi
Avvio e arresto
Ora puoi avviare e arrestare ogni istanza in questo modo:
# Controllare lo stato di ogni istanza /etc/init.d/weewx status # Avviare solo l'istanza paddock sudo /etc/init.d/weewx start paddock # Riavviare solo l'istanza paddock sudo /etc/init.d/weewx restart paddock # Fermare solo l'istanza house sudo /etc/init.d/weewx stop house
Logging
Le voci di registro per ogni istanza verranno identificate in modo univoco. Ad esempio, le voci di registro dell'istanza house conterranno weewx-house, e le voci di registro dell'istanza paddock saranno identificate da weewx-paddock. Per impostazione predefinita, le voci di registro per ogni istanza verranno scritte nello stesso file di log. Questo può rendere difficile la lettura del file e la risoluzione dei problemi, specialmente se le voci del log di Weewx sono scritte nel log di sistema. Potresti considerare di configurare il sistema di logging per memorizzare le voci di registro di Weewx in un file separato, o anche avere voci di registro per ciascuna istanza di Weewx scritte su file separati. Fai riferimento alla guida Salvare i log in un file separato.