GNU/Linux >> Linux の 問題 >  >> Linux

/var/log をすべて削除しますか?

解決策 1:

ファイルを削除する代わりに、ローテーションする必要があります。 g. logrotate を使用 .

しばらく前のログが実際にいつ必要になるかはわからないため、ログをアーカイブしておくことをお勧めします (3 か月など、適切な期間まで)。

logrotate 古いログ ファイルを圧縮して、多くのディスク領域を占有しないようにすることができます。

解決策 2:

すべてのファイルを削除:

find /var/log -type f -delete

すべての .gz および回転されたファイルを削除

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

「-delete」なしでコマンドを実行してテストしてください。

解決策 3:

/var/log 内のすべてを削除すると、そこには存在すると予想されるフォルダー (exim4、apache2、apt、cups、mysql、samba など) があるため、非常に短時間で大量のエラー メッセージが表示される可能性があります。もっと)。さらに、ログファイルが存在しない場合、ログファイルを作成しないサービスまたはアプリケーションがいくつかあります。彼らは、少なくとも空のファイルが存在することを期待しています。したがって、あなたの質問に対する直接的な答えは、「これをしないでください!!!」 です。 .

joschi が指摘したように、これを行う理由はありません。何年もログファイルが1つも削除されていないdebianサーバーを実行しています。

解決策 4:

マスターから仮想マシンのクローンを作成しています。クローンを起動するときにマスターのログを取得しないように、マスターのログをクリアすることは完全に理にかなっています。私は tcsh で行いました:

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

これにより、ログはクリアされますが、ファイルは保持されます。

解決策 5:

Linux システム上のすべてのログを削除せずにクリーニングする ファイル:

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

サンバ (/var/www/samba ) は、IP アドレスを含むログ ファイル名を作成します。それらを削除することもできます:

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

Linux
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. Xemacs:すべてのファイルを/home/barry/.emacs_barryにロードしますか?

  3. cPanelサーバー上のすべてのerror_logファイルを削除する方法

  1. CentOS / RHEL :logrotate を使用して /var/log/wtmp および /var/log/btmp ファイルをローテーションする方法

  2. Linux ですべてまたは特定のファイルを gzip する方法

  3. /var/www/... の Django static_root - collectstatic へのアクセス許可がありません

  1. /dev/shm/ と /tmp/ はいつ使用する必要がありますか?

  2. すべてのサブディレクトリで一致するファイルを削除します

  3. /var/log/{syslog,dmesg,messages} ログ ファイルの違い