When need to compress the Zope Database


When need to pack the ZODB…

python fsrecovery.py -P 0 -f /Data.fs /Data.fs.packed

Annunci

Il campo titolo del fascicolo


Per aumentare le dimensioni del campo titolo nel fascicolo, aprire il file

../Products/PAFlow/controllers/zpt/CreateFolderView.zpt

e modificare il valore “60” nelle righe che seguono

_title_

input id="title" name="title" size="60" tal:attributes="value controller/title/get" type="text" /

Il comando netstat


“Quanti utenti sono connessi al server PAFlow in questo momento?”

Il comando netstat permette di vedere lo stato delle connessioni instaurate sul computer locale. Prova a scrivere, ad esempio

netstat -putan

Il comando

netstat -an | grep 1.2.3.4:51080 | grep ESTABLISHED | wc -l

in particolare mostra le connessioni relative al server Zope (1.2.3.4:51080 nell’esempio).

Un altro modo per visualizzare le connessioni attive è questo

watch -n 1 "netstat -tpanl | grep ESTABLISHED"

Si può sfruttare le funzioni di netstat per il controllo del flusso RX/TX

watch 'netstat -aniv'

Di seguito il comando (un po’ più complesso) per ottenere una rappresentazione grafica delle connessioni

netstat -an | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | awk '{ printf("%st %st",$2,$1) ; for (i = 0; i < $1; i++) {printf("*")}; print "" }'

Per effettuare il controllo delle porte e del routing

netstat -lnp

questa invece è la variante per elencare le porte aprte e l’identificativo (PID) del processo collegato alla porta

netstat -tlnp

Quali route sono memorizzate sul computer?

netstat -rn

Numero delle connessioni aperte per IP

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

La “directory di Zope”


“Dove si trovano i file di Zope?”

I file di Zope si trovano nella cartella definita durante l’installazione, ad esempio /home/katrame/myzope/instance mentre nella cartella ../bin sono contenuti alcuni script utili per avviare, fermare, riavviare il server Zope. Inoltre nella directory ../etc si trova il file zope.conf

Quando si modifica questo file, occorre riavviare Zope, affinché le modifiche abbiano effetto. La directory ../import contiene file con estensione .zexp

Quando vogliamo, per esempio, esportare una parte o tutto il nostro sito Zope, creiamo un file con estensione .zexp che possiamo successivamente reimportare in un altro server Zope, ottenendo tutti i file che compongono il nostro sito originario.

La directory ../var contiene il file Data.fs, un file molto importante perché contiene pagine e file sul server Zope. Per effettuare il backup di un sito Zope è sufficiente fare una copia di questo file.

Purtroppo, il file Data.fs viene, di norma, caricato nella RAM del server. Dunque, se questo file è eccessivamente grande, potrebbe rendere il server lento. Per questo motivo, è consigliabile l’uso di Zope per realizzare le pagine web (statiche o dinamiche), ma è fortemente sconsigliato l’inserimento di file direttamente all’interno di Zope (salvo qualche piccolo file).

Avviare e arrestare Zope


Per avviare Zope, accedere alla directory dove è stata installata l’istanza e scrivere:

./zopectl start

per arrestarlo ovviamente scrivere:

./zopectl stop

Per riavviare Zope, ossia dare in sequenza prima lo stop e poi lo start scrivere:

/home/pippo/myzope/instance/bin/zopectl restart

ipotizzando che la cartella dell’istanza sia /home/pippo/myzope/instance

In generale Zope va riavviato quando si effettua una modifica del file di configurazione zope.conf (i file di configurazione, infatti, vengono tipicamente letti in fase di avvio di una applicazione).

Nota

In certi casi, per qualche anomalia, Zope potrebbe non avviarsi, usando i comandi precedenti. In questo caso, occorre verificare se il processo Python è attivo ed eventualmente terminarlo forzatamente, prima di avviare Zope. Il comando da utilizzare è kill, ad esempio:

kill -9 processid

dove processid è il numero di processo associato a Zope ottenuto tramite il comando ps -ef

PAFlow: gestione dell’istanza di Zope


Per configurare la cartella di backup delle istanze:

wget -q "http://utente:password@ip:porta/percorso-istanza/InstanceManager/setBackupInstanceDir?directory=/home/ciccio-panciccio/instance_backup/"

Per configurare il numero di istanze da rimuovere:

wget -q "http://utente:password@ip:porta/percorso-istanza/InstanceManager/dumpCompleteInstances?max_number=50000&remove=1"

Per lanciare il pack da riga di comando:

wget -q -O - "http://utente:password@ip:porta/Control_Panel/Database/manage_pack?days:float=0&submit=Pack"