Home > Mumble 1.1 | Mumble 1.2 > Mumble サーバのメンテ方法2

Mumble サーバのメンテ方法2

前回の記事でデータベースファイル全体のメンテナンス方法を紹介しました。

今回は中身のメンテナンスです。

1月以上ログインしていないユーザを削除

なんとなくユーザ登録したけど使われない、証明書をなくしてユーザ登録した名前でログインできない、といったユーザは多いです。

なので、公開サーバとか開いていると謎のユーザが増える一方になります。

具体的な方法ですが、sqlite3 を使ってデータベースを直接編集します。

$ sqlite3 mumble-server.sqlite

ICEインターフェイスやD-Busインターフェイスでユーザの最終ログイン時間を取得できないため、直接データベースファイルを編集する必要があります。(Murmur 1.2.3 からは取得できるようになります。)

一ヶ月以上ログインしていないユーザを一覧表示する。

> select server_id, user_id, name, last_active from users
  where last_active < datetime('now', 'localtime', '-1 months')
         and user_id <> 0;

いきなり削除するのもあれなので、まずは確認します。

確認したらそれを削除する。

> delete from users where last_active < 
  datetime('now', 'localtime', '-1 months')
  and user_id <> 0;

このような感じでクエリを送ると長期間ログインしていないユーザや、その削除ができます。

last_active < datetime(‘now’, ‘localtime’, ‘-1 months’)

この部分は英語的な意味から察することができると思いますが、-1 months を -1 week とか -1 days に変えれば月単位以外でもいけます。

user_id <> 0

こいつはユーザIDが0のユーザを除外する(SuperUserは削除対象にしない)という意図です。

詳しい部分が知りたければSQL文とかでググるといいでしょう。

ユーザ削除の後に前回の記事で紹介したreindexやvacuumをすると効率的かもしれない。

スポンサード リンク

Home > Mumble 1.1 | Mumble 1.2 > Mumble サーバのメンテ方法2

検索
フィード
メタ情報

Return to page top