移动 postfix 的 vmail 文件夹

移动 postfix 的 vmail 文件夹

我有 CentOS Linux 版本 7.6.1810、Postfix + Dovecot、Apache/2.4.39。我的可用空间不足。我目前安装了一个新的磁盘驱动器,因此我正在寻找一种安全的方法将我的 vmail 文件夹移动到新位置(而不是另一台服务器),并且无需停机即可完成此操作。只需更改我的 postfix 的 main.cf 即可

virtual_mailbox_base = /var/vmail

virtual_mailbox_base = /mnt/new_folder

并将所有文件复制/var/vmail到某个/mnt/new_folder位置?

答案1

如果有人有同样的疑问:停止 POSTFIX 和 DOVECOT 服务。在下一个文件中,替换包含 /var/vmail 的行:

/etc/dovecot/dovecot.conf

mail_location = maildir:/var/vmail/%d/%n

/etc/dovecot/dovecot-mysql.conf:

password_query = SELECT username as user, password, concat('/ var /vmail/', maildir) as userdb_home, concat('maildir:/ var /vmail/', maildir) as userdb_mail, 101 as userdb_uid, 12 as userdb_gid FROM mailbox WHERE username = '%u' AND active = '1'
user_query = SELECT concat('/ var /vmail/', maildir) as home, concat('maildir:/ var /vmail/', maildir) as mail, 101 AS uid, 12 AS gid, CONCAT('*:messages=0:bytes=', quota) as quota_rule FROM mailbox WHERE username = '%u' AND active = '1'

/etc/postfix/main.cf

virtual_mailbox_base = /var/vmail

到达所需目的地,例如:

/mnt/vmail

启动 POSTFIX 和 DOVECOT,并重新启动服务。

答案2

我认为最简单的解决方案是直接将新磁盘挂载在/var/mail,例如:

  • 停止 Postfix 和 Dovecot
  • 移走 /var/mail:mv /var/mail /var/mail.bak
  • 创建一个新的/var/mail
  • 挂载新磁盘/var/mail
  • 将旧数据从/var/mail.bak复制到/var/mail
  • 重新启动 Postfix 和 Dovecot
  • /var/mail.bak确认一切正常后即可删除

相关内容