gerlos writes: > Ciao, > Scusate se riporto la conversazione per intero, ho decisamente bisogno di > spiegazioni tecniche, c’è qualcosa che proprio non capisco... >
Vediamo se riesco ad aiutarti > 1. Come si fa a “spezzare” un file binario? “dove” si fa? Con che > logica dovrebbe funzionare un clone di logrotate che funziona su un > log binario? Una utility per fare a pezzi un file binario è split. Aveva il suo perché ai tempo di memorie rimovibile piccoline. Quanto a logrotate, il sistema dovrebbe attendere la fine di una entry, bloccare la scrittura mentre linka il vecchio file ad un nuovo nome e ne prepara uno vuoto al suo posto, sbloccare la scrittura e continuare a lavorare sul vecchio log off-line. In questo modo ci si garantirebbe la scrittura per record completi. > 2. Il fatto che il log sia binario elimina la necessità di ruotarlo > e comprimerlo? Come? Forse si avrebbe meno guadagno a comprimerlo, perché un file binario può contenere meno ridondanza. > 3. Perché dovrei indicizzare un file di log? Cosa c’è che non va > nelle ricerche fatte ad esempio con grep semplicemente quando > serve? Come potrebbe un file binario agevolare il lavoro di tool > come logcheck, per esempio? (tempo fa ho “greppato” un log di 30MB > da un server con un problema hardware che rendeva il kernel > logorroico, e sono sopravvissuto senza avere indici…) Un'indicizzazione serve solo quando sai cosa cercare e quando ripeti la ricerca. Indicizzare un file ne aumenta le richieste di spazio, appesantisce le scritture(*) e crea delle strutture delicate (sono di solito immagini di strutture ad albero). (*) proprio per questo molti DB disabilitano automaticamente l'aggiornamento dei log durante le import massive di dati. Il DBA deve poi forzarne il ricalcolo Non c'è nulla che non va nelle ricerche con grep e awk. Semplicemente sono ricerche che fai in "full table scan" - per usare il gergo dei DB relazionali - e ogni volta che la fai ne paghi il costo completo. > 4. Abbiate pazienza, non capisco neanche perché dovrebbe essere più > semplice o più efficiente appendere contenuti ad un file binario > rispetto ad appendere una riga ad un file testuale. Scrivere 4 byte è sicuramente più veloce che convertire i 4 byte in una stringa di caratteri che ne rappresenta il valore in decimale. Non parliamo dell'aumento di velocità nello scrivere un time_t direttamente o trasformarlo in un timestamp leggibile. Ti voglio vedere però a prendere il valore binario, trasformarlo in giorni, ore, minuti e secondi e trasformare questi valori in una data che parte dal 1 gennaio 1970. > 5. In condizioni assurdamente disperate, potrei copiare un file log > sul computer di mio cugino ;-) su cui gira Windows, con > l’intenzione di esaminarli. Come faccio se sono binari? (se sono > testuali, in assenza di meglio, posso usare il buon vecchio > Wordpad). Per esaminarli se sono binari, o funzionano i tool che te lo leggono o sei uno übergeek che si è imparato il formato dei file e riesce pure a leggerlo nell'output di od. Altrimenti... picche, tamburi e cornamuse. -- /\ ___ Ubuntu: ancient /___/\_|_|\_|__|___Gian Uberto Lauri_____ African word //--\| | \| | Integralista GNUslamico meaning "I can \/ coltivatore diretto di software not install già sistemista a tempo (altrui) perso... Debian" Warning: gnome-config-daemon considered more dangerous than GOTO -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/21613.44081.43538.567...@mail.eng.it