GNU/Linux >> Znalost Linux >  >> Linux

Smazat celý /var/log?

Řešení 1:

Místo mazání souborů byste je měli otočit, např. G. pomocí logrotate .

Nikdy nevíte, kdy budete záznamy z minulosti skutečně potřebovat, proto je lepší je archivovat (do přiměřeného věku, např. 3 měsíců).

logrotate může komprimovat vaše staré soubory protokolu, aby nezabíraly mnoho místa na disku.

Řešení 2:

Smazat všechny soubory:

find /var/log -type f -delete

Smazat všechny .gz a otočené soubory

find /var/log -type f -regex ".*\.gz$"
find /var/log -type f -regex ".*\.[0-9]$"

Zkuste spustit příkaz bez "-delete", abyste to otestovali.

Řešení 3:

Pokud smažete vše v /var/log, s největší pravděpodobností skončíte se spoustou chybových zpráv ve velmi krátkém čase, protože tam jsou složky, u kterých se očekává, že existují (např. exim4, apache2, apt, cups, mysql, samba a více). Navíc:existují některé služby nebo aplikace, které nevytvářejí své protokolové soubory, pokud neexistují. Očekávají, že bude přítomen alespoň prázdný soubor. Takže přímá odpověď na vaši otázku je ve skutečnosti "Tohle nedělej!!!" .

Jak poznamenal joschi, není k tomu žádný důvod. Mám spuštěné servery debianu, na kterých nebyl po léta smazán jediný soubor protokolu.

Řešení 4:

Klonuji virtuální stroje z mastera. Je naprostý smysl vymazat protokol na hlavním serveru, takže při spouštění klonů nezískáte protokol hlavního serveru. Udělal jsem to v tcsh:

cd /var/log
foreach ii ( `find . -type f` )
foreach? cp /dev/null $ii
foreach? end

který vymaže protokoly, ale zachová soubory.

Řešení 5:

Čištění všech protokolů v systému Linux bez smazání soubory:

for CLEAN in $(find /var/log/ -type f)
do
    cp /dev/null  $CLEAN
done

Samba (/var/www/samba ) vytváří názvy souborů protokolu s IP adresami, možná je budete chtít smazat:

for CLEAN in $(find /var/log/samba -type f)
do
    rm -rf $CLEAN
done

Linux
  1. Xemacs:Načíst všechny soubory do /home/barry/.emacs_barry?

  2. Rozdíl mezi /var/log/messages, /var/log/syslog a /var/log/kern.log?

  3. CentOS / RHEL :Jak otočit soubory /var/log/wtmp a /var/log/btmp pomocí logrotate

  1. Odstraňte odpovídající soubory ve všech podadresářích

  2. Rozdíly v souborech protokolu /var/log/{syslog,dmesg,messages}

  3. unix:///var/run/supervisor.sock žádný takový soubor

  1. Smažte všechny soubory kromě 1000 náhodných souborů v adresáři

  2. Proč mají všechny adresáře /home, /usr, /var atd. stejné číslo inodu (2)?

  3. Měly by weby žít ve /var/ nebo /usr/ podle doporučeného použití?