1

Topic: delete_mailboxes.py --delete-without-timestamp 問題

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.9.9
- Deployed with iRedMail Easy or the downloadable installer?No
- Linux/BSD distribution name and version: CentOS7.4
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): LDAP
- Web server (Apache or Nginx):Nginx
- Manage mail accounts with iRedAdmin-Pro?LDAP-3.3
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====
Hi 版主:

delete_mailboxes.py

#   * --delete-without-timestamp:
#
#       [RISKY] If no timestamp string in maildir path, continue to delete it.

此參數把我整個  /var/vmail/vmail1 清個乾淨!!!!

這是我在使用此參數之前 tree 的資料 (在查看 tree 的資料, 每個帳號皆有timestamp)
但:
│   ├── p
│   │   └── o
│   │       └── s
│   │           └── postmaster
│   │               └── Maildir
│   │                   ├── cur
│   │                   │   └── 1547742992.M389045P28118.mail.mydomain.com,S=61253,W=62705:2,S
│   │                   ├── dovecot-acl-list
│   │                   ├── dovecot.index.cache
│   │                   ├── dovecot.index.log
│   │                   ├── dovecot-uidlist
│   │                   ├── dovecot-uidvalidity
│   │                   ├── dovecot-uidvalidity.5c3c3e7a
│   │                   ├── new
│   │                   └── tmp
│   └── t

雖版主有對此參數提告:[RISKY]
但 iRedMail 安裝時 ,postmaster帳號的目錄沒有 timestamp , 其應該只砍 postmaster 怎會把整個vmail1 的目錄砍個乾乾淨淨?

這個參數應該要再重點提示操作者. 免得像我一樣的悲劇啊!

Thanks.

----

Spider Email Archiver: On-Premises, lightweight email archiving software developed by iRedMail team. Supports Amazon S3 compatible storage and custom branding.

2

Re: delete_mailboxes.py --delete-without-timestamp 問題

根据你的另外一个 post (https://forum.iredmail.org/post67432.html#p67432),应该从 output 的 "<<< SKIP >>>" log 里看出来 maildir 路径不对了。

另外,这个脚本对各种情况的判断可能不够充分,例如还可以做如下检测:

- 查询 vmail.mailbox(SQL backends)或 LDAP,如果 maildir 仍然被某个用户使用,则不应该删除。
- 如果某个用户的 maildir 是以当前要删除的 maildir 路径开头,则不应该删除。例如有用户是 /var/vmail/vmail1/a/b/c,当前要删除的是 /var/vmail/vmail/a/。

3

Re: delete_mailboxes.py --delete-without-timestamp 問題

刚刚改进了 delete_mailboxes.py:

- 如果当前要删除的 maildir 仍然被某个用户使用,不删除。
- 如果当前要删除的 maildir 是某个用户的 maildir 的 parent directory,不删除。

是否能帮忙测试一下?我本地测试是 ok 的。