# [Tip] /var/log, /var/run e /var/lock in tmpfs

## Cazzantonio

Recentemente ho usato un po' ubuntu e mi sono accorto che usa tmpfs anche per le directory /var/lock e /var/run (che teoricamente dovrebbero contenere solo file temporanei). La cosa potrebbe non essere un idiozia visto che potrebbe (teoricamente... dubito cambi qualcosa nella realtà) ridurre gli accessi a disco.

Visto che mettere barbaramente in tmpfs le due directory non è una cosa saggia (contengono anche directory create da alcuni ebuild) ho creato un piccolo script che crea un tar della directory e lo ripristina al riavvio nella tmpfs.

Mi sono spinto anche più in la', ovvero ho messo in tmpfs anche le directory /var/log! e /var/spool

Pazzia direte voi... beh fino ad un certo punto... su un portatile i log potrebbero essere superflui e comunque ho arrangiato lo script in modo da creare un tar anche di quelli. In questo modo vengono persi solo in caso di freeze o spegnimento improvviso del sistema.

Appena il tar dei log raggiunge la dimensione stabilita da $MAX_LOG_SIZE viene creato un backup dei log e i precedenti vengono cancellati. Viene preservato emerge.log visto che molti utenti trovano importante avere tutta la storia di emerge.

Vedete voi se la cosa vi gusta, in ogni caso eccovi il mio initscript da aggiungere al runlevel di boot

```
#!/sbin/runscript

depend() {

        after localmount root

        before bootmisc logger cron

}

#Directory dove salvare i tar di /var/log, /var/run e /var/lock

DATA_DIR_BACKUP=/var

#Massima dimensione del tar dei log prima della rotazione

MAX_LOG_SIZE=50

#Se si vuole che lo script agisca come demone e ruoti i log anche prima del

#riavvio impostare la seguente variabile a 1

DEMONIZED=0

#Nel caso si imposti DEMONIZED=1 selezionare l'intervallo di tempo tra i controlli

#della dimensione della directory /var/log

#Il suffisso puo' essere `s' per secondi (the default), `m' per minuti, `h' per 

#ore o `d' per giorni.

CHECK_TIME=2h

#Il demone è lo script /usr/local/sbin/log_daemon.sh

backup() {

#backup struttura di /var/log e rotazione in caso di dimensione eccessiva

    cd /var

    tar cvpf $DATA_DIR_BACKUP/log_bk.tar log/ &>/dev/null

    chmod 600 $DATA_DIR_BACKUP/log_bk.tar

    LOGSIZE=$(du -m $DATA_DIR_BACKUP/log_bk.tar|cut -f1)

    if [ $LOGSIZE -gt $MAX_LOG_SIZE ]; then

        cd /var

        echo "Log size limit reached. Rotating logs"

        /bin/mv $DATA_DIR_BACKUP/log_bk.tar $DATA_DIR_BACKUP/log_bk.tar_old -f

        tar cvzpf $DATA_DIR_BACKUP/log_bk.tar log/ &>/dev/null

        chmod 600 $DATA_DIR_BACKUP/log_bk.tar $DATA_DIR_BACKUP/log_bk.tar

        /bin/mv $DATA_DIR_BACKUP/log_bk.tar $DATA_DIR_BACKUP/log_bk.tar_old -f

        /bin/rm `find /var/log -type f|grep -v "\.keep"|grep -v "emerge.log"`

        touch /var/run/utmp; chgrp utmp /var/run/utmp; chmod 664 /var/run/utmp

        tar cvzpf $DATA_DIR_BACKUP/log_bk.tar log/ &>/dev/null

        chmod 600 $DATA_DIR_BACKUP/log_bk.tar $DATA_DIR_BACKUP/log_bk.tar

    else

        echo "Log size = $LOGSIZE M, Rotating at $MAX_LOG_SIZE"

    fi

#backup struttura di /var/run

    /bin/rm `find /var/run -type f -iname *.pid` -rf

    echo "" > /var/run/utmp

    tar cvpf $DATA_DIR_BACKUP/run_bk.tar run/ &>/dev/null

    chmod 600 $DATA_DIR_BACKUP/run_bk.tar

#backup struttura di /var/lock

    tar cvpf $DATA_DIR_BACKUP/lock_bk.tar lock/ &>/dev/null

    chmod 600 $DATA_DIR_BACKUP/lock_bk.tar

#backup struttura di /var/spool

    tar cvpf $DATA_DIR_BACKUP/spool_bk.tar spool/ &>/dev/null

    chmod 600 $DATA_DIR_BACKUP/spool_bk.tar

}

restore() {

#ripristino struttura di /var/log e creazione dei file neccessari per il boot

    tar xvpf $DATA_DIR_BACKUP/log_bk.tar -C /var/ &>/dev/null

#ripristino struttura di /var/run e creazione dei file neccessari per il boot

    tar xvpf $DATA_DIR_BACKUP/run_bk.tar -C /var/ &>/dev/null

    test -e /var/run/utmp || touch /var/run/utmp && chgrp utmp /var/run/utmp && chmod 664 /var/run/utmp

#ripristino struttura di /var/lock e relativi permessi

    tar xvpf $DATA_DIR_BACKUP/lock_bk.tar -C /var/ &>/dev/null

    chmod 775 /var/lock && chown root:wheel /var/lock

#ripristino struttura di /var/spool e relativi permessi

    tar xvpf $DATA_DIR_BACKUP/spool_bk.tar -C /var/ &>/dev/null

    chmod 755 /var/spool

#daemon

    if [ $DEMONIZED -eq 1 ]; then

        /usr/local/sbin/log_daemon.sh &

    fi

}

start() {

        ebegin "Ripristino struttura di /var/log, /var/run, /var/lock e /var/spool"

        restore

        eend $?  

}

stop() {

        ebegin "Backup struttura di /var/log, /var/run, /var/lock e /var/spool"

        backup

        eend $?

}
```

Per usare il demone, ovvero per avere una rotazione dei log anche a pc acceso (non solo durante i reboot), dovete mettere in /usr/local/sbin questo script:

log_daemon.sh:

```
#!/bin/sh

DEMONIZED=`cat /etc/init.d/manage_log|grep -v "#" |grep DEMONIZED|cut -d"=" -f2|head -n1`

DATA_DIR_BACKUP=`cat /etc/init.d/manage_log|grep -v "#" |grep DATA_DIR_BACKUP|cut -d"=" -f2|head -n1`

MAX_LOG_SIZE=`cat /etc/init.d/manage_log|grep -v "#" |grep MAX_LOG_SIZE|cut -d"=" -f2|head -n1`

CHECK_TIME=`cat /etc/init.d/manage_log|grep -v "#" |grep CHECK_TIME|cut -d"=" -f2|head -n1`

while [ $DEMONIZED -eq 1 ]; do

    LOGSIZE=$(du -ms /var/log|cut -f1)

    if [ $LOGSIZE -gt $MAX_LOG_SIZE ]; then

        cd /var

        echo "Log size limit reached. Rotating logs"

        /etc/init.d/syslog-ng stop

        /bin/mv $DATA_DIR_BACKUP/log_bk.tar $DATA_DIR_BACKUP/log_bk.tar_old -f

        tar cvzpf $DATA_DIR_BACKUP/log_bk.tar log/ &>/dev/null

        chmod 600 $DATA_DIR_BACKUP/log_bk.tar $DATA_DIR_BACKUP/log_bk.tar

        /bin/mv $DATA_DIR_BACKUP/log_bk.tar $DATA_DIR_BACKUP/log_bk.tar_old -f

        /bin/rm `find /var/log -type f|grep -v "\.keep"|grep -v "emerge.log"`

        touch /var/run/utmp; chgrp utmp /var/run/utmp; chmod 664 /var/run/utmp

        tar cvzpf $DATA_DIR_BACKUP/log_bk.tar log/ &>/dev/null

        chmod 600 $DATA_DIR_BACKUP/log_bk.tar $DATA_DIR_BACKUP/log_bk.tar

        /etc/init.d/syslog-ng start

    fi

    sleep $CHECK_TIME

done
```

Ovviamente dovete preoccuparvi di aggiornare fstab con voci di questo tipo:

```
varlog      /var/log/       tmpfs   mode=1755,size=100m      0 0

varrun      /var/run/      tmpfs   mode=1755,size=1m      0 0

varlock      /var/lock/      tmpfs   mode=1775,size=1m      0 0

varspool   /var/spool      tmpfs   mode=1750,size=1m      0 0
```

Parto dal presupposto che chi si azzarda ad usare questo script sappia cosa sta facendo.

P.S. ho notato in seguito che esisteva anche un'altro tip del genere nel forum internazionale:

https://forums.gentoo.org/viewtopic-t-371889-highlight-tmpfs+var+lock.html

Il mio è stato pensato in modo indipendente e potete valutare da soli quali delle due soluzioni scegliere  :Smile: 

----------

## cloc3

 *Cazzantonio wrote:*   

> 
> 
> Visto che mettere barbaramente in tmpfs le due directory non è una cosa saggia (contengono anche directory create da alcuni ebuild) ho creato un piccolo script che crea un tar della directory e lo ripristina al riavvio nella tmpfs.
> 
> 

 

anziché solo al riavvio, potresti determinare una frequenza di backup, per chi tiene accesa la macchina di notte.

 *Cazzantonio wrote:*   

> 
> 
> e i precedenti vengono cancellati.
> 
> 

 

io metterei una desinenza variabile che permetta di mantenere i vecchi log.

infine, una cosa che cambierei è il nome della $DATA_DIR_BACKUP di default. non /var ma /var/backup , magari con un controllo iniziale che la crea se non preesistente. potrebbe essere utile, magari, prelevare il nome da /etc/env.02locale.

ps. i file per il boot sono troppo utili.

----------

## Kernel78

 *Cazzantonio wrote:*   

> Mi sono spinto anche più in la', ovvero ho messo in tmpfs anche la directory /var/log!
> 
> Pazzia direte voi... beh fino ad un certo punto... su un portatile i log potrebbero essere superflui e comunque ho arrangiato lo script in modo da creare un tar anche di quelli. In questo modo vengono persi solo in caso di freeze o spegnimento improvviso del sistema.
> 
> 

 

Pazzia no ma non riesco a vederne l'utilità pratica ...

Se ritieni i log superflui puoi proprio evitare di farli scrivere così non ti occupano ram e non generano accessi al disco.

Se i log vengono scritti con parsimonia allora la quantità di accessi che togli al disco non vale la pena (a meno che il tuo portatile non abbia 8gb di ram).

Se i log vengono scritti ad un livello di dettaglio molto alto allora potrebbe esserci un senso ma dovresti rotarli in fretta per evitare di riempirti la memoria e mi chiederei perchè tenerli ad un livello di dettaglio così alto.

 *Cazzantonio wrote:*   

> 
> 
> Appena il tar dei log raggiunge la dimensione stabilita da $MAX_LOG_SIZE viene creato un backup dei log e i precedenti vengono cancellati.
> 
> 

 

per questo non sarebbe più pratico usare logrotate ?

Per le altre due dir potrebbe anche andare ma per i log mi lascia decisamente perplesso.

----------

## Cazzantonio

 *cloc3 wrote:*   

> anziché solo al riavvio, potresti determinare una frequenza di backup, per chi tiene accesa la macchina di notte.

 E' pensato per un portatile che pertanto viene riavviato spesso... In caso contrario puoi sempre utilizzare logrotate.

 *Quote:*   

> io metterei una desinenza variabile che permetta di mantenere i vecci log.

 Beh io ho pensato ad una singola rotazione (quando mai vai a leggere dei log vecchi di mesi?), comunque è fattibile.

 *Quote:*   

> infine, una cosa che cambierei è il nome della $DATA_DIR_BACKUP di default. non /var ma /var/backup

 /var/backup non esiste di default mentre /var si... La variabile esiste per essere modificata all'occorrenza e se vuoi creare una directory di backup sei liberissimo   :Wink: 

 *Quote:*   

> magari con un controllo iniziale che la crea se non preesistente. potrebbe essere utile, magari, prelevare il nome da /etc/env.02locale.

 Mi sembra molto macchinoso. Inoltre non vedo perché imporre delle scelte (tipo la directory di default) quando la puoi creare ed impostare da solo se ti serve. Non vedo infine perché appoggiarsi a più file (02locale) quando posso avere tutto dentro un semplice initscript (altrimenti potrei mettere anche un file /etc/conf.d/ ma è troppo macchinoso per le poche variabili che uso).

 *Kernel78 wrote:*   

> Pazzia no ma non riesco a vederne l'utilità pratica ...

 Nessuno ti obbliga   :Smile: 

Togliere i log mi sembra esagerato, ti ripeto che li perdo solo in caso di crash (non mi capita così spesso...).

Non capisco questa storia del dettaglio... uso syslog-ng in una configurazione abbastanza standard e loggo praticamente tutto il loggabile. Nonostante tutto per accumulare 50 mega di log ci mette una vita (se non hai problemi vari che ti riempiono i log).

 *Quote:*   

> per questo non sarebbe più pratico usare logrotate ?

 A dire il vero non ne ho mai apprezzato il funzionamento. Logrotate ti consente di controllare con dettaglio la rotazione di ogni SINGOLO file. Non consente (per quanto ne so) di impostare condizioni globali su tutta la cartella dei log. In questo modo posso ruotare  tutta la cartella appena sopraggiungono delle condizioni generiche. Mi piace di più così.

----------

## cloc3

 *Cazzantonio wrote:*   

>  Non consente (per quanto ne so) 

 

non è vero. ma questo è proprio il problema di logrotate. ha troppe opzioni, e naturlamente quella che ti sembra irriunciabile è proprio quella che non troverai mai.

----------

## Cazzantonio

ho aggiornato lo script per tenere conto della rotazione dei log anche  da pc acceso   :Smile: 

----------

## cloc3

 *Cazzantonio wrote:*   

> ho aggiornato lo script per tenere conto della rotazione dei log anche  da pc acceso  

 

su. modifica anche i file per il boot.

ti ripeto che sono troppo utili.

----------

## Cazzantonio

 *cloc3 wrote:*   

> su. modifica anche i file per il boot.
> 
> ti ripeto che sono troppo utili.

 Effettivamente mi ero dimenticato di aggiungere il controllo per la rigenerazione di alcuni file... era quello che intendevi?

----------

## cloc3

 *Cazzantonio wrote:*   

> Effettivamente mi ero dimenticato di aggiungere il controllo per la rigenerazione di alcuni file... era quello che intendevi?

 

no, no.

dicevo proprio i file di boot.

i tuoi sono addirittura:

 *Cazzantonio wrote:*   

> 
> 
> neccessari
> 
> 

 

 :Laughing:   :Laughing:   :Laughing: 

----------

## Kernel78

 *Cazzantonio wrote:*   

> Togliere i log mi sembra esagerato, ti ripeto che li perdo solo in caso di crash (non mi capita così spesso...).
> 
> 

 

Sei tu che hai scritto:"su un portatile i log potrebbero essere superflui", nel caso tu fossi convinto che fossero superflui la soluzione migliore sarebbe di toglierli ...

 *Quote:*   

> 
> 
> Non capisco questa storia del dettaglio... uso syslog-ng in una configurazione abbastanza standard e loggo praticamente tutto il loggabile. Nonostante tutto per accumulare 50 mega di log ci mette una vita (se non hai problemi vari che ti riempiono i log).
> 
> 

 

Non è solo la configurazione del logger che conta ma anche quella dei vari servizi, un conto è impostare i servizi in modo che riportino solo gli errori, altra cosa è impostarli affinché scrivano un trattato di 30 pagine ogni volta che impostano una variabile (magari stai debuggando o altro).

Con una configurazione abbastanza standard come la tua (in cui, fidati, loggi una minima frazione del loggabile) ha poco senso pratico spostare i log in ram per evitare continui accessi al disco, visto che ci pensa già il fs a bufferizzare prima di scrivere su disco ed essendo un flusso minimo di dadi è più l'impegno della ram che non il risparmi del disco ...

 *Quote:*   

> 
> 
>  *Quote:*   per questo non sarebbe più pratico usare logrotate ? A dire il vero non ne ho mai apprezzato il funzionamento. Logrotate ti consente di controllare con dettaglio la rotazione di ogni SINGOLO file. Non consente (per quanto ne so) di impostare condizioni globali su tutta la cartella dei log. In questo modo posso ruotare  tutta la cartella appena sopraggiungono delle condizioni generiche. Mi piace di più così.

 

Come ti hanno fatto notare logrotate può gestire anche intere directory.

----------

## Cazzantonio

 *Quote:*   

> Come ti hanno fatto notare logrotate può gestire anche intere directory.

 Come? Ho letto bene man logrotate ma non ho capito come...

 *cloc3 wrote:*   

> dicevo proprio i file di boot.

 Quali file di boot??   :Confused: 

----------

## cloc3

 *Cazzantonio wrote:*   

> Quali file di boot??  

 

 :Laughing: 

vedo che non c'è verso.

era ironia infantile sulla doppia c della parola "necessari" (nei commenti), che sembrava rendere i tuoi file per il boot straordinaria utilità...

perdonami, siamo in vacanza.

----------

## Kernel78

 *Cazzantonio wrote:*   

>  *Quote:*   Come ti hanno fatto notare logrotate può gestire anche intere directory. Come? Ho letto bene man logrotate ma non ho capito come...
> 
> 

 

Posso credere che tu abbia scorso velocemente il man ma che lo abbia letto bene e non abbia capito la spiegazione dell'esempio su come rotare una directory ...  *man logrotate wrote:*   

> The  last  section  defines  the  parameters  for  all  of the files in
> 
>        /var/log/news. Each file is rotated on a monthly basis.  This  is  con-
> 
>        sidered  a  single rotation directive and if errors occur for more then
> ...

 

mi sembra strano  :Confused: 

Quale parte non hai capito ?

----------

## Cazzantonio

 *Kernel78 wrote:*   

> Quale parte non hai capito ?

 No, quella parte l'ho capita benissimo, solo che non ruota tutti i files che sono invece contenuti nelle sottodirectory di /var/log

Infatti mi toccava usare un logrotate.conf del genere e ricordarmi di aggiungere una voce in più ogni volta che un ebuild creava una sottodirectory in /var/log

```
/var/log/* {

     rotate 1

}

/var/log/sandbox/* {

    rotate 1

}

/var/log/cups/* {

    rotate 1

}

/var/log/gdm/* {

    rotate 1

}

/var/log/news/* {

    rotate 1

}

/var/log/partimage/* {

    rotate 1

}

/var/log/samba/* {

    rotate 1

}

/var/log/tor/* {

    rotate 1

}

/var/log/portage/* {

    rotate 1

}

/var/log/portage/elog/* {

    rotate 1

    olddir /var/log/old_logs/elog

}
```

Non è proprio il massimo della praticità   :Smile: 

Magari fosse stato possibile specificare di rotare tutta la directory INCLUSE le subdirectory...   :Rolling Eyes: 

Comunque siamo OT nel parlare di logrotate.

Il mio script non ha tutte queste pretese... se vi piace bene, altrimenti sentitevi liberi di non usarlo   :Smile: 

----------

## Kernel78

 *Cazzantonio wrote:*   

>  *Kernel78 wrote:*   Quale parte non hai capito ? No, quella parte l'ho capita benissimo, solo che non ruota tutti i files che sono invece contenuti nelle sottodirectory di /var/log
> 
> Infatti mi toccava usare un logrotate.conf del genere e ricordarmi di aggiungere una voce in più ogni volta che un ebuild creava una sottodirectory in /var/log
> 
> ```
> ...

 

Ci credo che non è il massimo come praticità, è sbagliato ...

In questo modo tu prendi tutti i file nelle varie directory, anche quelli che hai già ruotato, e li ruoti di nuovo (tranne gli elog per cui usi olddir), inoltre è perfettamente inutile che ridefinisci ogni volta "rotate 1", basta che la definisci globalmente.

Please use wildcards with caution. If you specify *, logrotate will

rotate all files, including previously rotated ones. A way around this

is to use the olddir directive or a more exact wildcard (such as

*.log).

 *Quote:*   

> 
> 
> Magari fosse stato possibile specificare di rotare tutta la directory INCLUSE le subdirectory...  
> 
> Comunque siamo OT nel parlare di logrotate.
> ...

 

Ok, che io sappia non funziona ricorsivamente e so di essere OT ma mi sembrava maleducato non rispondere alla tua domanda  :Wink: 

 *Quote:*   

> Il mio script non ha tutte queste pretese... se vi piace bene, altrimenti sentitevi liberi di non usarlo  

 

Ovvio che non ho nessuna pistola alla testa e quindi non lo uso ma pensavo che delle critiche costruttive ti potessero interessare, non pensavo si trattasse di un esercizio di stile fine a se stesso.

La mia impressione era che oltre a reinventare la ruota tu l'abbia fatta un po' più squadrata e pretenda che vada montata sul tettuccio della macchina.

Meno di quanto già esiste (per tua stessa ammissione) e dal mio punto di vista di utilità dubbia.

Ho fatto notare le mie perplessità, non sono perfetto e magari non avevo pensato a qualche fattore che rendeva utile il tuo script, e fatto notare l'esistenza di strumenti già esistenti, più testati ed efficienti che già esistono.

La mia considerazione sui log è stata lasciata cadere e quando rispondo alla tua domanda su logrotate mi dici che andiamo OT, se non vuoi discuterne dillo dal primo post  :Wink: 

----------

## codadilupo

 *Kernel78 wrote:*   

> a mia impressione era che oltre a reinventare la ruota tu l'abbia fatta un po' più squadrata e pretenda che vada montata sul tettuccio della macchina.
> 
> Meno di quanto già esiste (per tua stessa ammissione) e dal mio punto di vista di utilità dubbia.

 

direi anche che è inutile sparare a una mosca con un bazooka, per cui un sistema come questo puo' giovare in sistemi desktop dove i log li leggi solo se hai un problema, e poi li butti via

Coda

----------

## Kernel78

 *codadilupo wrote:*   

>  *Kernel78 wrote:*   a mia impressione era che oltre a reinventare la ruota tu l'abbia fatta un po' più squadrata e pretenda che vada montata sul tettuccio della macchina.
> 
> Meno di quanto già esiste (per tua stessa ammissione) e dal mio punto di vista di utilità dubbia. 
> 
> direi anche che è inutile sparare a una mosca con un bazooka, per cui un sistema come questo puo' giovare in sistemi desktop dove i log li leggi solo se hai un problema, e poi li butti via

 

In questo caso sarebbe inutile farne il backup come fa lo script in questione.

P.S. il bazooka della tua metafora non sarà mica logrotate ?

----------

## Cazzantonio

 *Kernel78 wrote:*   

> In questo modo tu prendi tutti i file nelle varie directory, anche quelli che hai già ruotato, e li ruoti di nuovo (tranne gli elog per cui usi olddir), inoltre è perfettamente inutile che ridefinisci ogni volta "rotate 1", basta che la definisci globalmente.

 

Uff... non è tutto il logrotate.conf... e ci sono delle definizioni globali che ho omesso. Non è affatto sbagliato. Se ti interessa davvero te lo spedisco via pm.

 *Kernel78 wrote:*   

> In questo caso sarebbe inutile farne il backup come fa lo script in questione.

 

Beh io ritengo che tra avere un po' di log e nessuno sia meglio averne un po'.

Su una macchina desktop 50 mega corrispondono a qualche mese di log quindi direi che è adatto alle esigenze della maggior parte degli utenti. Se la macchina inizia all'improvviso a crasharti senza pietà allora è il caso di disabilitare questa cosa per tenersi i log in caso di crash... certo una eventualità che tutti si augurano remota.

Se poi hai intenzione di applicare la cosa ad un server di produzione devi davvero sapere quello che stai facendo...   :Rolling Eyes: 

Il backup viene fatto perché nel momento in cui li ruoti verrebbero cancellati del tutto, mentre potresti improvvisamente accorgerti di averne bisogno...

Potrei, a pensarci bene, evitare di ruotare emerge.log visto che la maggior parte degli utenti gradisce mantenere la storia di emerge (query sui pacchetti).

Ripeto: E' uno script senza pretese! E' pensato per un uso desktop standard dove magari uno vuole tenere l'hd in idle il più possibile...

Se uno lascia il desktop acceso e ogni pochi minuti il buffer dei log viene scritto l'hd non può andare in spindown, o peggio va in spindown e subito ritorna up (con conseguente logorio meccanico a lungo andare). Ci sono casi in cui potrebbe essere utile, altri invece in cui è sicuramente svantaggioso.

Io l'ho pensato per un serverino che nel 99% del tempo è idle (è un fileserver) e solo ogni tanto ha dei periodi di attività molto concentrati ma sporadici. In questo modo l'hd può andare in spindown senza problemi sapendo che non verrà risvegliato così spesso.

Sono perfettamente cosciente del fatto che in caso di crash perdo i log e se mi capita vedrò di disabilitare la cosa per fare il dovuto debug.

----------

## codadilupo

 *Kernel78 wrote:*   

> In questo caso sarebbe inutile farne il backup come fa lo script in questione.
> 
> P.S. il bazooka della tua metafora non sarà mica logrotate ?

 

certo! logrotate è sprecato per un desktop, ed è fin troppo complicato da imparare, se non devi farne un uso massivo. Meglio uno scrippettino senza pretese che ti salvi capra e cavoli spazio, pochi accessi al disco, e cmq un minimo di log per ogni evenienza, no ?

Coda

----------

## Kernel78

 *codadilupo wrote:*   

>  *Kernel78 wrote:*   In questo caso sarebbe inutile farne il backup come fa lo script in questione.
> 
> P.S. il bazooka della tua metafora non sarà mica logrotate ? 
> 
> certo! logrotate è sprecato per un desktop, ed è fin troppo complicato da imparare, se non devi farne un uso massivo. Meglio uno scrippettino senza pretese che ti salvi capra e cavoli spazio, pochi accessi al disco, e cmq un minimo di log per ogni evenienza, no ?
> ...

 

Se fosse carnevale crederei ad uno scherzo ...

logrotate è sprecato per un desktop ? è troppo complicato da imparare ?

A parte il fatto che su un desktop ti basta installarlo (e abilitare la USE logrotate per convenienza) e non devi preoccuparti d'altro ... per configurare la rotazione dei miei primi log personalizzati ho aperto il file di configurazione senza nemmeno leggere il man ...

----------

## Cazzantonio

Ho aggiornato lo script, nel caso qualcuno sia interessato.

Alla luce del successo dei dischi SSD l'idea di mettere in ram diverse directory di accesso frequente diventa sempre più interessante.

----------

## Kernel78

 *Cazzantonio wrote:*   

> Ho aggiornato lo script, nel caso qualcuno sia interessato.
> 
> Alla luce del successo dei dischi SSD l'idea di mettere in ram diverse directory di accesso frequente diventa sempre più interessante.

 

 :Confused: 

mi sfugge la connessione ...

prendiamo per esempio un ssd della mtron: loro grazie all'elevato numero di cicli di scrittura supportati e agli algoritmi di wear-leveling implementati se tu prendi uno dei loro prodotti da 32 gb e ci scrivi sopra 50 gb al giorno avrai bisogno di 140 anni per sfasciarlo ... 

Tu scrivi 50 gb al giorno di log ? o nella tmp ?

Semmai adesso che gli SSD iniziano a diffondersi diventa sempre meno utile tenere le cose in ram

----------

## Cazzantonio

E' un punto di vista interessante. Io preferisco però continuare ad usare lo script, nell'eventualità che il mio disco non sia della mtron e che non supporti tutti questi cicli di scrittura.  :Smile: 

P.S. era un eternità che non passavo dal forum... ma che fine ha fatto randomaze? Se ne sono andati tutti??   :Crying or Very sad: 

----------

## Kernel78

 *Cazzantonio wrote:*   

> E' un punto di vista interessante. Io preferisco però continuare ad usare lo script, nell'eventualità che il mio disco non sia della mtron e che non supporti tutti questi cicli di scrittura. 
> 
> 

 

se non è della mtron magari invece di 140 anni potrebbe durarti solo 30 ... ti aspetti seriamente di non cambiare disco nei prossimi 30 anni ???

 *Quote:*   

> 
> 
> P.S. era un eternità che non passavo dal forum... ma che fine ha fatto randomaze? Se ne sono andati tutti??  

 

diciamo che alla lunga la RL ha la meglio anche sui migliori di noi  :Laughing: 

----------

## Cazzantonio

 *Kernel78 wrote:*   

> se non è della mtron magari invece di 140 anni potrebbe durarti solo 30 ... ti aspetti seriamente di non cambiare disco nei prossimi 30 anni ???

 Io su queste cose sono superstizioso... preferisco peccare per eccesso   :Wink: 

 *Quote:*   

> diciamo che alla lunga la RL ha la meglio anche sui migliori di noi 

 Eh beh... se ci fosse uno stipendio per i moderatori sarei ancora qui   :Wink: 

----------

