Maildir形式のメールボックスの統計情報を出力するツール(maildir-stats)を作りました

Dovecot+Postfixで構成されたメールサーバ上のメール容量を計測したくて、Maildir形式のメールボックスの統計情報を出力するツールmaildir-stats をGoで作りました。

1ユーザ分の情報を出力するuserコマンドと、全ユーザの情報を出良くするusersコマンドをサブコマンドとして提供しています。

user

1ユーザ分のMaildirを指定します。
サマリの情報+フォルダ毎、年毎、月毎の情報を出力できます。

$ maildir-stats user -d /home/user1/Maildir -f -y -m

[Summary]
Number of mails : 10
Total size      : 3,340 byte

[Folder]
  Name   | Number of mails | Total size(byte)  
---------+-----------------+-------------------
         |               4 |               10  
  A      |               2 |               30  
  B      |               2 |              300  
  C      |               0 |                0  
  XXXXXX |               2 |            3,000  

[Year]
  Year | Number of mails | Total size(byte)  
-------+-----------------+-------------------
  2022 |               3 |            3,003  
  2023 |               7 |              337  

[Month]
  Month   | Number of mails | Total size(byte)  
----------+-----------------+-------------------
  2022-11 |               1 |            2,000  
  2022-12 |               2 |            1,003  
  2023-01 |               3 |              320  
  2023-02 |               2 |                5  
  2023-03 |               2 |               12  

users

ユーザのホームディレクトリからのMaildir名を指定します。ユーザの情報は /etc/passwd から取得します。
サマリの情報+ユーザ毎、年毎、月毎の情報を出力できます。

$ maildir-stats users -d Maildir -u -y -m

[Summary]
Number of mails : 11
Total size      : 6,321 byte

[User]
  Name  | Number of mails | Total size(byte)  
--------+-----------------+-------------------
  user1 |               6 |               21  
  user2 |               2 |              300  
  user3 |               3 |            6,000  
  user4 |               0 |                0  

[Year]
  Year | Number of mails | Total size(byte)  
-------+-----------------+-------------------
  2021 |               2 |              300  
  2022 |               6 |            3,014  
  2023 |               3 |            3,007  

[Month]
  Month   | Number of mails | Total size(byte)  
----------+-----------------+-------------------
  2021-12 |               2 |              300  
  2022-11 |               3 |            1,006  
  2022-12 |               3 |            2,008  
  2023-01 |               2 |            3,003  
  2023-02 |               1 |                4  

おわりに

詳しいオプションなどはREADMEをご参照ください。