Tag Archive - Windows

Sophos: batch backup SQL

Un processo troppo spesso sottovalutato √® quello del backup, talvolta anche in azienda (sigh!). La colpa viene sempre data al poco tempo a disposizione, alla poca voglia forse, sporadicamente del non sapere dove / come / quando fare un backup. Oggi ho notato che ho predicato bene ma ho razzolato male fino all’ultimo momento, il server antivirus aziendale non effettuava regolare backup SQL quotidianamente.

Per questo motivo ho deciso di rimediare e mettere in piedi un processo automatico che svolge lo sporco lavoro ogni notte, operazione schedulata alle 3.00 per l’esattezza.

Mi sono servito ancora una volta di uno script batch, il 7-Zip Command Line Version, l’eseguibile sleep presente nel Windows 2003 Server Resource Kit e di un secondo batch gi√† presente in tutte le installazioni di Sophos (%programfiles%\Sophos\Enterprise Console\DB\BackupDB.bat).

Prima di partire vi invito a copiare il 7za.exe ed lo sleep.exe all’interno della cartella Windows\System32 della vostra macchina, cos√¨ da poter essere richiamati facilmente dal prompt di MS-Dos.

Lo script è davvero semplice, può essere salvato in qualsiasi posizione. Nel mio caso ho deciso di lasciarlo in %programfiles%\Sophos.

Prima il codice, poi la spiegazione :-)

@echo off
cls
echo Backup Database SOPHOS su macchina locale
echo;
echo Controllo esistenza cartella bck su disco C ...
echo;
if not exist C:\bck mkdir C:\bck
cd "%programfiles%\Sophos\Enterprise Console\DB"
echo Avvio procedura di backup Database ...
echo Tempo di attesa: 20 sec.
for /f "tokens=1-3 delims=/- " %%a in ('date /t') do set xdate=%%a_%%b_%%c
start /min BackupDB.bat C:\bck\sophos_%xdate%.sql SOPHOS
sleep 20
echo;
echo Backup effettuato.
echo;
echo Compressione con 7zip ...
echo;
7za.exe a -t7z -mx5 C:\bck\sophos_%xdate%.7z C:\bck\sophos_%xdate%.sql
echo;
echo Cancellazione file temporanei ...
del C:\bck\sophos_%xdate%.sql
echo;
echo Processo terminato

La cartella usata per tenere in piedi i backup è la C:\bck, potete tranquillamente cambiarla sostituendola nello script. Sappiate comunque che il batch di Sophos gestisce meglio i nomi di cartelle senza spazi al loro interno, regolatevi di conseguenza ;)

Per differenziare le versioni dei backup ho deciso di includere la data. Il parametro funzionante sotto DOS √® “%date%” che per√≤ restituisce un valore come questo qui di seguito:

C:\Documents and Settings\Giovanni>echo %date%
24/07/2009

C:\Documents and Settings\Giovanni>

motivo per il quale diventa necessario sostituire quegli slash con qualcosa di pi√Ļ compatibile. Il ciclo for inserito nello script permette di farlo inserendo gli underscore perfettamente compatibili con il batch di Sophos (e con il mio!), generando un nuovo valore %xdate% richiamabile in qualsiasi momento.

Lo sleep.exe viene richiamato nel frattempo che va in funzione lo “start BackupDB.bat” che si preoccupa di effettuare in una finestra minimizzata il file SQL di esportazione dall’Enterprise Console. 20 secondi bastano e avanzano per un file che racchiude informazioni per un totale di circa 200 macchine. Nel vostro caso potrebbe essere necessario aumentare il numero di secondi (dipende da quanto √® grande l’esportazione).

Il funzionamento (molto elementare) del batch BackupDB realizzato da Sophos è spiegato nel /? lanciato da DOS, lo riporto:

C:\Program Files\Sophos\Enterprise Console\DB>BackupDB.bat

Usage:
 BackupDB backup_file_path [instance_name]

C:\Program Files\Sophos\Enterprise Console\DB>

altrimenti bisognerebbe far riferimento alla procedura manuale, spiegata in un documento della KB Sophos.com all’indirizzo:

sophos.com/support/knowledgebase/article/27265.html

Finito il backup si passa alla compressione grazie alla riga di comando del 7za precedentemente copiato nella Windows\System32. La riga che lancia la compressione del file SQL indica all’applicativo la necessit√† di generare un file 7z (-t7z) con compressione normale dandogli lo stesso nome del file originale. Per conoscere tutti i segreti della riga di comando di 7za vi rimando ad un fantastico documento, davvero completo:

http://dotnetperls.com/7-zip-examples

Il processo di compressione potrebbe anche impiegare diversi minuti (15 / 20 talvolta) ma schedulando questo lavoro a notte fonda non penso ci siano grossi problemi di sovraccarico della macchina, giusto? ;-)

Come chicca finale si cancella il file *.SQL recuperando spazio sul disco e mantenendo solo il .7z compresso.

Baster√† ora aggiungere alle Operazioni Pianificate del sistema il lancio quotidiano (o settimanale se pi√Ļ vi aggrada) del batch, all’ora esatta desiderata.

Cheers.

E arrivò Skype 4.1.0.141

Ho aggiornato Skype sulle mie macchine portandolo all’ultima versione rilasciata: la 4.1.0.141. Vi chiederete cosa ci sia da festeggiare immagino … giusto una cosa, per la quale ringrazio gli sviluppatori che tempo fa avevano deciso di far saltare alcune funzioni evidentemente considerate inutili o poco utilizzate.

In questa release √® stata finalmente ripristinata la funzione “Invia contatti”!

Ne avevo parlato in un post dedicato circa 5 mesi fa:

gioxx.org/2009/02/20/skype-4-invia-contatti-sparito

e nonostante la mia domanda posta sul blog italiano non abbia ancora avuto risposta, sono davvero felice di veder ricomparire la tanto amata funzionalit√† parecchio sfruttata con l’account aziendale per passare utenza tra colleghi ;-)

Altro cambiamento -decisamente meno importante della funzionalit√† finalmente reintrodotta- √® la grafica dell’applicativo, nella fattispecie la scelta di colori sensibilmente variata rispetto alla precedente versione GOLD, dal celeste “sciapo” stile Office 2007 al blu scuro pi√Ļ stile Windows XP (chiss√† come mai …).

Nel caso in cui l’aggiornamento non vi si proponga in modo automatico (succede spesso a dirla tutta) provate a forzare la richiesta dal menu Aiuto / Controlla aggiornamenti.

Colgo inoltre l’occasione per mettere in evidenza l’uscita della versione 2.8 per Mac e ricordarvi che -nel caso in cui necessitaste di aprire due sessioni di Skype separate- qui c’√® una veloce spiegazione che dovrebbe fare al caso vostro.

Cheers :-)

Firefox 3.5: ottimizzare il DB con VACUUM?

Scopro e studio un post uscito qualche giorno su Geekissimo, incuriosito da un test fatto da un amico sul forum di Mozilla Italia. Mi dice di aver provato quello strano tool disponibile per il download, dovrebbe riuscire a velocizzare l’avvio di Firefox.

Collegamento ad un anonimo Dropbox, scarico e apro dapprima con 7-Zip ed in seguito con Notepad++ per capire di cosa si tratta. Tutto si riassume nell’eseguibile di SQLite ed in un file batch che lancia un’istruzione secca sfruttando l’eseguibile stesso:

@FOR %%G IN (*.sqlite) DO ( sqlite3 %%G "VACUUM" )

Il comando VACUUM è ufficialmente sfruttato da SQLite e permette di:

When an object (table, index, or trigger) is dropped from the database, it leaves behind empty space. This empty space will be reused the next time new information is added to the database. But in the meantime, the database file might be larger than strictly necessary. Also, frequent inserts, updates, and deletes can cause the information in the database to become fragmented – scrattered out all across the database file rather than clustered together in one place.

In parole molto povere: dato un database di valori che vengono costantemente aggiornati (nel caso di Firefox succede con tutti i dati: segnalibri, password, cookie e altro ancora) la cancellazione di un qualsiasi dato lascia uno spazio “scoperto” (privo di valore) ma pur sempre conservato all’interno del DB. Il tutto succede fino al successivo riempimento di quello spazio. Ci√≤ vuol dire che ci si trova davanti ad una normale “frammentazione” (lo stesso succede con l’hard disk ed un regolare uso del sistema operativo). Impossibile porre paletti a questa costante crescita, soprattutto con il passare del tempo.

Per questo motivo sarà possibile lanciare il comando VACUUM per:

The VACUUM command cleans the main database by copying its contents to a temporary database file and reloading the original database file from the copy. This eliminates free pages, aligns table data to be contiguous, and otherwise cleans up the database file structure.

… copiare i valori in un DB temporaneo per poi spostarli (tutto in modo automatico) nel DB originale a fine pulizia, con conseguente guadagno di spazio occupato su disco.

# quanti DB SQLite possiedo?

E’ presto detto. In un profilo standard sar√† possibile trovare (grosso modo) questi file:

C:Documents and SettingsGiovanniDati applicazioniMozillaFirefoxProfilesXXXX.default>dir *.sqlite
Il volume nell’unit√† C non ha etichetta.
Numero di serie del volume: XXXX-YYYY

Directory di C:Documents and SettingsGiovanniDati applicazioniMozillaFiref oxProfilesXXXX.default

10/07/2009  17.51             7.168 content-prefs.sqlite
15/07/2009  16.43           495.616 cookies.sqlite
15/07/2009  16.35             9.216 downloads.sqlite
15/07/2009  16.50           299.008 formhistory.sqlite
30/06/2009  18.17             2.048 permissions.sqlite
15/07/2009  16.50         9.252.864 places.sqlite
06/07/2009  19.22             2.048 search.sqlite
25/05/2009  08.18            11.264 signons.sqlite
26/05/2009  09.57             3.072 webappsstore.sqlite
9 File     10.082.304 byte
0 Directory  132.868.112.384 byte disponibili

C:Documents and SettingsGiovanniDati applicazioniMozillaFirefoxProfilesXXXX.default>

Parliamo di circa 9 MB che dopo l’ottimizzazione sono passati a quasi 8, trattandosi di puro testo (salvato nei DB) non √® affatto male ;-)

# il tool

Si tratta di un banale codice (comunque merito all’averci pensato) realizzato da InfoSpyware.com, il suo nome √® IniFox, √® stato presentato nel post (in lingua originale, spagnolo):

infospyware.com/blog/acelera-el-inicio-de-firefox-con-inifox

ed è disponibile gratuitamente anche su GxWare.org.

# la procedura

Innanzi tutto √® d’obbligo mettere il solito avviso, che non fa mai male …

ATTENZIONE: Prima di eseguire qualsiasi modifica ai vostri file e/o dispositivi siete pregati di effettuare un backup di questi. Solo cos√¨ sarete capaci di tornare indietro riparando ad eventuali errori di distrazione. L’articolo e l’autore non possono essere ritenuti responsabili di alcun danno subito dalla vostra strumentazione. Buon lavoro.

A questo punto i passi da seguire sono molto semplici, l’importante √® aver scaricato e scompattato l’archivio contenente IniFox. Detto ci√≤, ecco il passo-passo:

  • CHIUDERE MOZILLA FIREFOX
  • Inserire i due file (batch & exe) di IniFox all’interno della cartella del proprio profilo. Per individuarla baster√† consultare questo articolo nel support ufficiale di Mozilla Firefox: support.mozilla.com/it/kb/Profili#Individuare_la_cartella_del_profilo
  • Sarebbe bene fare un backup dei file *.sqlite dopo aver creato una cartella apposita. Personalmente ho optato per due veloci comandi dal prompt di MS-DOS, questo √® quanto:
C:Documents and SettingsGiovanniDati applicazioniMozillaFirefoxProfilesXXXX.default>mkdir backup_gioxx

C:Documents and SettingsGiovanniDati applicazioniMozillaFirefoxProfilesXXXX.default>copy *.sqlite backup_gioxx
content-prefs.sqlite
cookies.sqlite
downloads.sqlite
formhistory.sqlite
permissions.sqlite
places.sqlite
search.sqlite
signons.sqlite
webappsstore.sqlite
9 file copiati.

C:Documents and SettingsGiovanniDati applicazioniMozillaFirefoxProfilesXXXX.default>
  • A questo punto si potr√† lanciare (doppio clic o sempre dal prompt di Ms-Dos) il file “IniFox.bat” e attendere la fine del processo.
  • Aprire ora Mozilla Firefox per notare (probabilmente) un minor tempo di caricamento dell’interfaccia principale.

Il processo pu√≤ essere (ovviamente) ripetuto pi√Ļ volte nel tempo (magari lasciate passare una o due settimane tra un’ottimizzazione e l’altra) e -una volta tanto- non si tratta di applicativo invasivo che potrebbe mettere in pericolo i vostri dati (come invece spesso accade, nonostante si cerchi sempre di tenervi informati! ;)).

Cheers :-)

Skype: errori di debug in Internet Explorer 7

Per tutti coloro che lavorano in azienda e / o magari non hanno voluto effettuare l’upgrade ad Internet Explorer 8, oggi riporto e propongo un problema che nasce con la release 7 (di IExplore, appunto) e la versione 4 di Skype (probabilmente potrebbe succedere anche con una versione 3.8, non escludetelo a priori).

Si tratta di una serie di errori a catena che vengono mostrati a video, riguardanti una errata interpretazione di codice Javascript (apparentemente) con possibilit√† di effettuare il debug a fine processo. Cliccando sempre su Si / No (√® indifferente, sigh!) si verr√† poi portati sulla pagina web che si desiderava visualizzare sin dall’inizio. Magari questo problema non si presenta con Firefox (qualsiasi versione dalla 3.0.x in poi) o con Google Chrome, installati sulla stessa macchina e avviati con lo stesso utente attualmente collegato a Windows.

Dopo qualche test (disinstallazione completa della Java Machine, reinstallazione dell’ultima versione, disattivazione temporanea dei Javascript durante la navigazione, ecc.ecc.) l’arcano mistero √® stato risolto: il componente aggiuntivo di Skype combina danni, ancora una volta. Affligge quindi anche Internet Explorer (casistiche rare ma comunque presenti) e necessita di essere rimesso al suo posto per poter lavorare correttamente.

Ecco quindi i pochissimi passaggi da eseguire per portare a termine il lavoro (scusate per la scarsa qualità dello screen fatto!):

  1. Dal menu Strumenti selezionare la voce Opzioni Internet
  2. Dalla scheda Programmi selezionare il tasto Gestione componenti aggiuntivi in basso a destra nella finestra
  3. Come filtro (“Mostra: “) impostare Componenti aggiuntivi attualmente caricati in Internet Explorer e attendere il caricamento della lista. In questa sar√† possibile scovare le due voci relative al componente aggiuntivo di Skype. Selezionarle e fare clic sull’opzione Disattiva in basso a sinistra (al posto di Attiva, gi√† spuntato di default)

Ora potrete confermare con OK per salvare le impostazioni e chiudere Internet Explorer. Riaprendolo e avviando un sito web che precedentemente dava problemi di debug non dovreste pi√Ļ veder comparire nulla di anomalo, giusto? :)

Buon lavoro!

RealVNC 4 ed il servizio resistente

No, non lo faccio apposta a parlare di sistemi *VNC ultimamente, è che capitano problemi quotidianamente e uso (ormai dovreste saperlo) il blog come blocco appunti per avere dei promemoria sempre disponibili un domani, nel caso in cui dovessi dimenticarmi la soluzione ai problemi risolti e necessitassi di perdere poco tempo per cercarla nuovamente sulla rete :P

Problematica: su una macchina √® stato disinstallato RealVNC4 (apparentemente in modo corretto) ed √® ora presente un UltraVNC che non funziona affatto bene, questo perch√© collegandosi alla macchina dovrebbe richiedere le credenziali di dominio (autenticazione tramite MS-LOGON quindi) ma in realt√† propone il solo campo password, chiaramente lasciando “spiazzato” chi si collega e non sa che password inserire.

Dopo qualche test ho scoperto l’arcano mistero, pi√Ļ semplice di quello che avevo inizialmente previsto ma infame al punto giusto da non venire in mente immediatamente …

Nonostante l’installazione di UltraVNC fosse stata fatta correttamente e fosse presente “uvnc_server” tra i servizi della macchina, RealVNC4 aveva “lasciato a marcire” il suo winvnc.exe che prevaleva sull’ultimo arrivato. Risultato? La password richiesta era quella impostata nel vecchio VNC. Ecco la schermata dei servizi:

clicca sull’immagine per ingrandire

Dopo aver disabilitato il servizio tutto è tornato alla normalità. Ecco perché ho prontamente cercato la sintassi per eliminare un servizio direttamente da DOS, questo è il documento:

theeldergeek.com/add_a_service_in_windows_xp.htm

e questo il risultato dalla finestra DOS chiaramente lanciata in modalità amministrativa:

Microsoft Windows XP [Versione 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS\system32>sc delete WinVNC4
[SC] DeleteService SUCCESS

C:\WINDOWS\system32>

Visibile anche a video dato che viene immediatamente dato errore sul servizio che si stava osservando:

clicca sull’immagine per ingrandire

Potete ora tornare al vostro lavoro senza imprecare ulteriormente, il problema è risolto e non necessita di alcun riavvio per permettervi il collegamento ad UltraVNC Server :-)

Cheers.

Page 25 of 41« First...«2324252627»...Last »