Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Tip?] Eliminare i log: è possibile farlo in modo indolore?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Forum di discussione italiano
View previous topic :: View next topic  
Author Message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4514
Location: Somewere around the world

PostPosted: Mon May 28, 2007 11:49 pm    Post subject: [Tip?] Eliminare i log: è possibile farlo in modo indolore? Reply with quote

Ho un serverino acceso 24/24 su cui girano un po' di servizi standard (samba, dhcp, rsync, mldonkey, freevo...).
Vorrei evitare accessi indesiderati al disco onde salvargli la vita il più a lungo possible (è il mio storage domestico e non ho il denaro per permettermi un raid mirroring ;-) ). Stavo pensando di sostituire la directory /var/log con un link ad una directory equivalente in /tmp, oppure montare in tmpfs direttamente /var/log.
Lo so che in questo modo ad ogni shutdown perdo i log ma mi sembra il compromesso migliore tra nessun log e il risveglio continuo del disco dallo stato idle...

Secondo voi è una mossa utile? Ci sono particolari problemi a cui vado incontro? (ad esempio dovrei ricreare ad ogni mount alcune directory come /var/log/samba, /var/log/cups etc..)
Dite che mi sto preoccupando per niente? E' che l'hd non è nemmeno ventilato e con il caldo che sicuramente arriverà vorrei prendere tutte le precauzioni possibile per evitare il peggio... per ora sta costantemente sull'orlo dei 40 gradi ma la situazione potrebbe (sicuramente) peggiorare... tenerlo in idle più a lungo significa temperature più basse...
_________________
Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne


Last edited by Cazzantonio on Tue May 29, 2007 11:13 am; edited 1 time in total
Back to top
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4810
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Tue May 29, 2007 4:23 am    Post subject: Re: [Conf] Eliminare i log: è possibile farlo in modo indol Reply with quote

Cazzantonio wrote:

Lo so che in questo modo ad ogni shutdown perdo i log ma

provare non nuoce.
in ogni caso non è necessario perdere i log allo shutdown.
puoi sempre salvarli una tantum prima di chiudere.

l'unico problema eventuale che ci vedrei è la dimensione della ram occupata. su quella ci devi fare i tuoi conti.
_________________
vu vu vu
gentù
mi piaci tu
Back to top
View user's profile Send private message
drizztbsd
Retired Dev
Retired Dev


Joined: 21 Nov 2004
Posts: 278
Location: Cesano Maderno

PostPosted: Tue May 29, 2007 8:35 am    Post subject: Reply with quote

usa sys-apps/mtree per salvare/ricreare l'albero delle directory
_________________
Gentoo/Alt lead
Gentoo/*BSD and Gentoo/FreeBSD deputy lead
Paludis contributor
Back to top
View user's profile Send private message
to.alex
n00b
n00b


Joined: 08 Apr 2007
Posts: 67

PostPosted: Tue May 29, 2007 9:16 am    Post subject: Reply with quote

e lasciare una pendrive USB (tanto ormai le tirano dietro per 10€) a fare solo da storage per i log?
Magari mettendoci un log-rotate (app-admin/logrotate) che a scadenze prestabilite comprime i log più vecchi in modo da lasciare spazio ai nuovi?
Nel mio sistema, dopo 5 mesi di utilizzo al momento il tutto occupa 275M la maggior parte dei quali (263M) occupati da /var/log/portage/elog
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4514
Location: Somewere around the world

PostPosted: Tue May 29, 2007 10:52 am    Post subject: Reply with quote

Ho provato a montare in ram /var/log, tuttavia non mi viene più creato il file /va/log/lastlog... come mai?

[EDIT]
come non detto:
Code:
    touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
    chgrp utmp /var/run/utmp /var/log/lastlog
    chmod 664 /var/run/utmp /var/log/lastlog

dovevano essere creati a mano...
riportato da:
http://www.pluto.it/files/ildp/lfs/lfs/6.0/chapter06/pwdgroup.html

esiste qualche altro accorgimento dello stesso tipo di cui devo tenere conto?
_________________
Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne


Last edited by Cazzantonio on Tue May 29, 2007 11:17 am; edited 1 time in total
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4514
Location: Somewere around the world

PostPosted: Tue May 29, 2007 11:12 am    Post subject: Reply with quote

to.alex wrote:
e lasciare una pendrive USB (tanto ormai le tirano dietro per 10�) a fare solo da storage per i log?

Mi sembra una soluzione anche troppo complessa... :roll:
Per ora ho risolto con questo initscript:
Code:
#!/sbin/runscript

depend() {
        need clock localmount hostname
        before bootmisc
}

start() {
        ebegin "Ripristino struttura di /var/log"
        /home/scripts/sbin/manage_log restore &>/dev/null
        eend $?
}

stop() {
        ebegin "Backup struttura di /var/log e eliminazione /tmp"
        /home/scripts/sbin/manage_log backup
        eend $?
}

che chiama a sua volta questo script:
Code:
heremitpurple ~ # cat /home/scripts/sbin/manage_log
#!/bin/sh
#Questo script esegue la copia fedele della struttura dell'albero delle
#directory di $DATA_DIR

DATA_DIR_BACKUP=/home/scripts/var/log
TMP_DIR=/tmp

LISTA_PARAMETRI="backup restore"

backup() {
    echo "backup struttura di /var/log"
    /bin/cp -a /var/log $TMP_DIR
    [ `find $TMP_DIR/log -type f|grep -v "\.keep"|wc -l` -gt 0 ] && /bin/rm `find $TMP_DIR/log -type f|grep -v "\.keep"`
    test -d $DATA_DIR_BACKUP && /bin/rm $DATA_DIR_BACKUP -r
    /bin/mv $TMP_DIR/log $DATA_DIR_BACKUP
}

restore() {
    echo "ripristino struttura di /var/log"
    /bin/cp -a $DATA_DIR_BACKUP/* /var/log/
    touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
    chgrp utmp /var/run/utmp /var/log/lastlog
    chmod 664 /var/run/utmp /var/log/lastlog
}

if [ ${#@} -gt 0 ]; then
    if [ ${#@} -gt 1 ]; then
        echo "Too many parameters"
        exit 1
    fi
    [ $1 = backup ] && backup
    [ $1 = restore ] && restore
    if [ `echo $LISTA_PARAMETRI|grep -e $1|wc -l` -eq 0 ]; then
        echo "azione '$1' sconosciuta"
        echo "Lista delle azioni possibili:"
        echo $LISTA_PARAMETRI
        exit 0
    fi
else
    echo "specificare azione"
    echo "Lista delle azioni possibili:"
    echo $LISTA_PARAMETRI
    exit 0
fi

Una soluzione sporca ma funzionale.
Ovviamente uno può commentare la seguente riga:
Code:
[ `find $TMP_DIR/log -type f|grep -v "\.keep"|wc -l` -gt 0 ] && /bin/rm `find $TMP_DIR/log -type f|grep -v "\.keep"`

se vuole salvarsi ad ogni reboot i log invece di eliminarli...

Se avete annotazioni da fare su log mancanti che devono essere ricreati all'avvio (tipo lastlog del post precedente) segnalatemelo così aggiorno lo script! :)
_________________
Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Tue May 29, 2007 11:42 am    Post subject: Reply with quote

configura logrotate per cancellarli
cambia in logrotate.conf da weekly in daily e rotate 1 (così tieni solo quelli del giorno precedente).
poi ovviamente devi configurare logrotate per gestirli tutti i log (ed eliminare le gestioni particolari in monthly/weekly che ci sono in logrotate.d)

per lo script metterei un semplice (cd /var/log ; tar -c ) | (cd /var2/log ; tar -x ) dove var 2 è la dir su disco in local.rc.
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4514
Location: Somewere around the world

PostPosted: Tue May 29, 2007 12:54 pm    Post subject: Reply with quote

djinnZ wrote:
configura logrotate per cancellarli
cambia in logrotate.conf da weekly in daily e rotate 1 (così tieni solo quelli del giorno precedente).
poi ovviamente devi configurare logrotate per gestirli tutti i log (ed eliminare le gestioni particolari in monthly/weekly che ci sono in logrotate.d)

per lo script metterei un semplice (cd /var/log ; tar -c ) | (cd /var2/log ; tar -x ) dove var 2 è la dir su disco in local.rc.


Avevo già pensato di modificare lo script in questo modo:
Code:
backup() {
    echo "backup struttura di /var/log"
    test -e /usr/sbin/logrotate && /usr/sbin/logrotate -f /etc/logrotate.conf
    /bin/cp -a /var/log $TMP_DIR
    [ `find $TMP_DIR/log -type f|grep -v "\.keep"|grep -v "old_logs"|wc -l` -gt 0 ] && /bin/rm `find $TMP_DIR/log -type f|grep -v "\.keep"|grep -v "old_logs"`
    test -d $DATA_DIR_BACKUP && /bin/rm $DATA_DIR_BACKUP -r
    /bin/mv $TMP_DIR/log $DATA_DIR_BACKUP
}

E impostare logrotate perché ruoti i log nella directory /var/log/old_logs... sarebbe stato più semplice mettere la directory old_logs su un'altro device ma logrotate non lo consente (ne ignoro il motivo).

E' semplice da fare ma sostanzialmente ho concluso che non me ne frega niente di tenere i log dopo il reboot... non sperimento mai nessun crash o freeze e il giorno che dovesse capitare posso sempre fare un passo indietro :wink:
_________________
Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Tue May 29, 2007 1:57 pm    Post subject: Reply with quote

in realtà puoi pure piazzare logrotate in rc e configurarlo per cancellare tutto e semmai tenerti in daily solo i log di rete (smb/cups/iptables etc) senza nessuno script.
Di certo per un uso normale non ne servono altri e puoi sempre tornare indietro gestendo logrotate con un suo script per runlevel che usi un logrotate.conf dedicato.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Forum di discussione italiano All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum