印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
Linux Samba のログ削除

ふと気がつくと,Samba サーバのログファイル数が大量になっていた。不思議なホスト名を含めて削除する。

■ ■ ■

Samba サーバは,Windows でファイルをドラッグアンドドロップできるので,とても便利。FTP サーバと共存すればさらに便利である (nlog(n): Samba 3 が文字化けする)。Samba の暗号強度はそれほど高くないらしいのだが,Samba のポートを外部公開してしまっているので,外部からのアクセスがある。

ログを見てみたら,大量発生していたので,削除する。

環境は Vine Linux 4.2, Samba 3.0.23 である。ログは /var/log/samba にある。

# pwd
/var/log/samba

どのようなファイルがあるのかを見てみる。ファイル名は,(IPアドレス).log, (IPアドレス).log.(数字), (ホスト名).log, (ホスト名).log.(数字) のような形式になっている。

# ls
0.0.0.0.log            218.110.83.154.log     66.110.243.187.log
0.0.0.0.log.1          218.110.83.162.log     66.122.90.172.log
0.0.0.0.log.2          218.110.83.162.log.1   66.123.107.92.log
0.0.0.0.log.3          218.110.83.175.log     66.123.113.58.log
0.0.0.0.log.4          218.110.83.196.log     66.127.15.77.log
0.0.0.0.log.old        218.110.83.196.log.1   66.127.197.58.log
...

いったいいくつくらいあるのか調べてみると,

# ls -1 | wc
wc: 標準入力:7869: 無効または不完全なマルチバイトまたはワイド文字です
...
   9649    9649  177827

9649個のファイルがあることが分かった。「無効または不完全なマルチバイトまたはワイド文字」ということで,ホスト名に変な文字が使われているようだ。

面倒なので,全削除。

# rm *log*
-bash: /bin/rm: 引数リストが長すぎます

と思ったが,ファイル数が多すぎて削除できないことが判明。そこで,xargs で,

# echo *log* | xargs rm
rm: オプションが違います -- n
Try `rm ./-n-.log' to remove the file `-n-.log'.
詳しくは `rm --help' を実行して下さい.
rm: ディレクトリ `6.log' を削除できません: そのようなファイルやディレクトリはありません

これも失敗。「-n-.log」というファイルがあって,「-n」というのが rm コマンドの解釈できないオプションとして認識されてしまっているのだ。削除するには「rm ./-n-.log」と書けと書いてある。そこで,find を使うことにした (xargs - Wikipedia に例がある)。

# find . -name "*log*" -print0 | xargs -0 rm

これで完了。xargs の「-0」オプションは,ファイル名に「空白・引用符・バックスラッシュ」等が含まれていても特別な意味を持たせないためにつけている (Manpage of XARGS)。これで「-n」があっても rm のオプションとはみなされることはない。

Samba ポートを閉じないといかんな。

Posted by n at 2009-06-11 22:21 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?