the fly on the net 
Davide Bia

Davide si occupa principalmente di consulenza informatica ed assistenza tecnica per alcune aziende nella provincia di Verona.
Ha sempre coltivato la passione per la programmazione, e fin dal 1994 sviluppa siti web e librerie JavaScript.



the fly on the net » Progetti »

Isola di Minorca

 Scritto da Davide Bia in Siti Internet 10 ottobre 2008 Nessun commento

Isola di Minorca è un nuovo portale in lingua italiana dedicato all’isola più verde del mediterraneo. Si possono trovare notizie, community forum, informazioni turistiche su trasporti e alloggi, recensioni dei migliori ristoranti e cibi, itinerari consigliati e tutte le altre informazioni per vivere a pieno l’isola.

Gli eleganti colori scuri che dominano il layout vogliono trasmettere il fascino esclusivo di un ambiente dichiarato riserva della biosfera dall’Unesco. È stata posta notevole attenzione al posizionamento dei banner, per aumentare la visibilità senza recare eccessivo disturbo al visitatore, grazie ai colori che si fondono perfettamente con l’insieme del sito.

È presente un forum con lo scopo di creare una community italiana di Minorca dove le persone che vogliono visitare, hanno già visitato oppure che addirittura hanno deciso di trasferirsi a Minorca possono condividere le proprie idee, opinioni ed esperienze.

Progetto:
Isola di Minorca, l’isola del vento
Leader del progetto:
Alessandro Castagna
Design e grafica:
Internet Idea
Tecnologie utilizzate:
HTML, JavaScript, PHP, SMF, MySQL
Home page (URL):
www.isoladiminorca.com

Backyp

 Scritto da Davide Bia in Python 18 settembre 2007 Nessun commento

Backyp è uno script in Python per eseguire la copia di una o più directory.

  • Esegue la copia solo dei file modificati (backup differenziale)
  • Elimina i file obsoleti dalla destinazione
  • Ignora alcuni file/percorsi grazie ai filtri basati su espressioni regolari (RegEx)
  • Supporta i percorsi UNC delle reti Windows
  • Esegue il dump dei database MySQL (richiede mysqldump)
  • Comprime opzionalmente i dump di MySQL (richiede libreria zlib)
  • Esegue i log su schermo, file e posta elettronica
  • Si configura con un semplice file INI

La corrente versione stabile è 1.1.3, rilasciato sotto licenza GNU GPL.

Download - Requisiti - Utilizzo - Configurazione - Changelog

Requisiti

Lo script è stato provato con Python 2.5.1 su sistemi operativi Windows, compreso Vista. Non si esclude che sia funzionante anche su versioni precedenti di Python o altri sistemi operativi.

Utilizzo

backyp.py configfile

Lo script necessita di un solo parametro configfile, che indica il percorso del file INI di configurazione. Il parametro è obbligatorio. In Windows, nel caso in cui la directory di Python non sia presente nella variabile d’ambiente %PATH%, è necessario specificare il percorso dell’eseguibile.

C:\python25\python.exe backyp.py configfile

Configurazione

Per personalizzare lo script si utilizza un file configurazione INI. Il file deve rispettare lo standard RFC 822.

[sources]
path1: C:\sourcedir > renamedir
path2: \\server\sourcedir
mysql: localhost root password > mysql.zip

La sezione sources indica le origini di cui effettuare il salvataggio. Siccome non possono esistere più origini con lo stesso nome, l’origine deve iniziare con l’ID risorsa (obbligatorio) ed è normalmente seguita da un progressivo. Se la risorsa viene usata una sola volta, si può omettere il progressivo. Le risorse attualmente supportate solo le seguenti:

  • path = Percorso di una cartella (directory) da copiare nella destinazione. In Windows sono supportati i percorsi di rete UNC. Facoltativamente è possibile specificare un nuovo nome da usare nel salvataggio (output redirection). Se due cartelle risulteranno avere lo stesso nome, lo script aggiunge automaticamente un progressivo al nome della cartella. Se esiste già una cartella nella destinazione, lo script ne aggiorna il contenuto copiando solo i file modificati dall’ultima esecuzione (backup differenziale).
  • mysql = Host database di MySQL (richiede mysqldump). L’unico parametro obbligatorio è il nome host o l’indirizzo IP del server di MySQL. È possibile specificare nome utente e password per l’autenticazione separati da spazi - in mancanza viene usato l’utente root con password vuota. Facoltativamente è possibile indicare il nome del file (output redirection) al posto del predefinito mysql.sql. Se sono presenti più backup verso lo stesso file, lo script aggiunge automaticamente un progressivo al nome del file. Se ha estensione zip, viene automaticamente compresso (richiede la libreria zlib).

Le origini che iniziano per un ID risorsa non supportato viene ignorato.
[destinations]
path1: C:\dest

La sezione destinations indica le destinazioni dove effettuare il salvataggio. Siccome non possono esistere più destinazioni con lo stesso nome, la destinazione deve iniziare con un ID risorsa (obbligatorio) ed è normalmente seguita da un progressivo. Se la risorsa viene usata una sola volta, si può omettere il progressivo. Le risorse attualmente supportate solo le seguenti:

  • path = Percorso di una cartella (directory) dove copiare le orgini. Se non esiste, viene tentata la creazione. In Windows, sono supportati i percorsi di rete UNC.

[exceptions]
regex1: ^C:\\sourcedir\\exclude\\

La sezione exceptions indica i filtri basati su espressioni regolari. Quando l’espressione combacia, il file o la directory non viene copiata (la destinazione non viene intaccata). Notare che nell’esempio la barra rovescia è specificata doppia in quanto, come in tutte le espressioni regolari, è un carattere di escape. La sezione viene ignorata durante i dump dei database MySQL.

[logging]
screen: 2
file: 2
mail: 0

La sezione logging permette di configurare l’accuratezza dei log e su quale output mostrarli

  • screen = Mostra l’output su video
  • file = Salva un file di log
  • mail = Invia una mail
  • 0 = Nessun log
  • 1 = Log di base, principalmente errori ed anomalie
  • 2 = Log completo

[config]
logpath: backyp.log
mailfrom: backyp@localhost
mailto: backyp@localhost
mailattachment: logfile.txt
smtpserver: localhost

La sezione config permette di specificare alcuni parametri generali per lo script. Questi parametri non sono obbligatori.

  • mysqldump = Percorso del tool mysqldump, fornito assieme a MySQL. Se non viene specificato, lo script tenta di trovarlo nei percorsi più comuni.
  • logpath = Percorso dove salvare i log su file. Il percorso può indicare sia un file, al quale viene accodato il log, che una directory nella quale viene creato un file nella forma aaaa-mm-gg.log. Se vengono eseguiti più script nello stesso giorno, vengono accodati. Default: backyp.log
  • mailfrom = Indirizzo da usare come mittente delle e-mail. Default: backyp@localhost
  • mailto = Indirizzo di destinazione delle e-mail. Default: backyp@localhost
  • mailattachment = Nome del file in allegato alle e-mail. Se ha estensione zip, viene compresso (richiede libreria zlib). Default: logfile.txt
  • smtpserver = Server SMTP da usare per il recapito delle e-mail. Default: localhost

Changelog

  • Versione 1.0.1. Prima release
  • Versione 1.1.1. Aggiunto mysqldump e allegati compressi, corretto diversi bug sulla lettura file INI, aggiunta controlli e gestione eccezioni generate in caso di accesso negato.
  • Versione 1.1.2. Aggiunto 1 secondo di scarto durante il controllo aggiornamento della destinazione per compatibilità con alcuni filesystem
  • Versione 1.1.3. Risolto bug nelle variabili LogFile e LogMail che in alcune situazioni risultano non dichiarate