View previous topic :: View next topic |
Author |
Message |
Cazzantonio Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/195356323743686d76373d8.jpg)
Joined: 20 Mar 2004 Posts: 4514 Location: Somewere around the world
|
Posted: Mon May 28, 2007 11:49 pm Post subject: [Tip?] Eliminare i log: è possibile farlo in modo indolore? |
|
|
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 |
|
![](templates/gentoo/images/spacer.gif) |
cloc3 Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/39525275142a0fd302dc7e.gif)
Joined: 13 Jan 2004 Posts: 4810 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Tue May 29, 2007 4:23 am Post subject: Re: [Conf] Eliminare i log: è possibile farlo in modo indol |
|
|
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 |
|
![](templates/gentoo/images/spacer.gif) |
drizztbsd Retired Dev
![Retired Dev Retired Dev](/images/ranks/rank-retired.gif)
![](images/avatars/84221162347457c55a967d.png)
Joined: 21 Nov 2004 Posts: 278 Location: Cesano Maderno
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
to.alex n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 08 Apr 2007 Posts: 67
|
Posted: Tue May 29, 2007 9:16 am Post subject: |
|
|
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 |
|
![](templates/gentoo/images/spacer.gif) |
Cazzantonio Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/195356323743686d76373d8.jpg)
Joined: 20 Mar 2004 Posts: 4514 Location: Somewere around the world
|
Posted: Tue May 29, 2007 10:52 am Post subject: |
|
|
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 |
|
![](templates/gentoo/images/spacer.gif) |
Cazzantonio Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/195356323743686d76373d8.jpg)
Joined: 20 Mar 2004 Posts: 4514 Location: Somewere around the world
|
Posted: Tue May 29, 2007 11:12 am Post subject: |
|
|
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...
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! ![Smile :)](images/smiles/icon_smile.gif) _________________ 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 |
|
![](templates/gentoo/images/spacer.gif) |
djinnZ Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/3978748614ef08bfa7f764.jpg)
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Tue May 29, 2007 11:42 am Post subject: |
|
|
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 |
|
![](templates/gentoo/images/spacer.gif) |
Cazzantonio Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/195356323743686d76373d8.jpg)
Joined: 20 Mar 2004 Posts: 4514 Location: Somewere around the world
|
Posted: Tue May 29, 2007 12:54 pm Post subject: |
|
|
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 :wink:](images/smiles/icon_wink.gif) _________________ 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 |
|
![](templates/gentoo/images/spacer.gif) |
djinnZ Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/3978748614ef08bfa7f764.jpg)
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Tue May 29, 2007 1:57 pm Post subject: |
|
|
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
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist ![Wink :wink:](images/smiles/icon_wink.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|