跳到主內容

mailcow Vmail 資料移動

因連到資料的後台看到郵件空間很小,所以要把郵件空間移到另一個地方存放官方有教學如何移動資料到其他地方

在 mailcow 的目錄下新增加一個檔案 docker-compose.override.yml 內容如下

version: '2.1'
volumes:
  vmail-vol-1:
    driver_opts:
      type: none
      device: /data/mailcow/vmail
      o: bind

移動現有的資料夾:

  • 用 "Mountpoint" 指令找尋目前 vmail 資料夾 :
docker volume inspect mailcowdockerized_vmail-vol-1
  • 將 _data 資料夾強制複製到新的資料夾使用 cp -arsync -a 強制複製命令
  • 停止 mailcow 服務 docker-compose down ,請在安裝目錄下執行 (例:/opt/mailcow-dockerized)
  • 在安裝目錄下新增加一個 docker-compose.override.yml
  • 刪除目前 vmail 資料夾: docker volume rm mailcowdockerized_vmail-vol-1
  • 啟用 mailcow 服務 docker-compose up -d ,請在安裝目錄下執行 (例:/opt/mailcow-dockerized)

補充說明其他目錄移動

其他的目錄如下:

你可以在資料碟上面新增加以上那些目錄,那由於上面已經有用好了 vmail 目錄

建置目錄如下:

cd /data/mailcow/

mkdir clamd-db crypt mysql-socket mysql postfix redis rspamd sogo-userdata-backup sogo-web solr vmail-index vmail

強制複製一份到另一個磁碟區

rsync -a /var/lib/docker/volumes/mailcowdockerized_clamd-db-vol-1/_data/ /data/mailcow/clamd-db/
rsync -a /var/lib/docker/volumes/mailcowdockerized_crypt-vol-1/_data/ /data/mailcow/crypt/
rsync -a /var/lib/docker/volumes/mailcowdockerized_mysql-socket-vol-1/_data/ /data/mailcow/mysql-socket/
rsync -a /var/lib/docker/volumes/mailcowdockerized_mysql-vol-1/_data/ /data/mailcow/mysql/
rsync -a /var/lib/docker/volumes/mailcowdockerized_postfix-vol-1/_data/ /data/mailcow/postfix/
rsync -a /var/lib/docker/volumes/mailcowdockerized_redis-vol-1/_data/ /data/mailcow/redis/
rsync -a /var/lib/docker/volumes/mailcowdockerized_rspamd-vol-1/_data/ /data/mailcow/rspamd/
rsync -a /var/lib/docker/volumes/mailcowdockerized_sogo-userdata-backup-vol-1/_data/ /data/mailcow/sogo-userdata-backup/
rsync -a /var/lib/docker/volumes/mailcowdockerized_sogo-web-vol-1/_data/ /data/mailcow/sogo-web/
rsync -a /var/lib/docker/volumes/mailcowdockerized_solr-vol-1/_data/ /data/mailcow/solr/
rsync -a /var/lib/docker/volumes/mailcowdockerized_vmail-index-vol-1/_data/ /data/mailcow/vmail-index/
rsync -a /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/ /data/mailcow/vmail/

複製完之後先停止 mailcow 服務 docker-compose down ,請在安裝目錄下執行 (例:/opt/mailcow-dockerized)

在安裝目錄下新增加一個 docker-compose.override.yml

version: '2.1'
volumes:
  clamd-db-vol-1:
    driver_opts:
      type: none
      device: /data/mailcow/clamd-db
      o: bind
  crypt-vol-1:
    driver_opts:
      type: none
      device: /data/mailcow/crypt
      o: bind
  mysql-socket-vol-1:
    driver_opts:
      type: none
      device: /data/mailcow/mysql-socket
      o: bind
  mysql-vol-1:
    driver_opts:
      type: none
      device: /data/mailcow/mysql
      o: bind
  postfix-vol-1:
    driver_opts:
      type: none
      device: /data/mailcow/postfix
      o: bind
  redis-vol-1:
    driver_opts:
      type: none
      device: /data/mailcow/redis
      o: bind
  rspamd-vol-1:
    driver_opts:
      type: none
      device: /data/mailcow/rspamd
      o: bind
  sogo-userdata-backup-vol-1:
    driver_opts:
      type: none
      device: /data/mailcow/sogo-userdata-backup
      o: bind        
  sogo-web-vol-1:
    driver_opts:
      type: none
      device: /data/mailcow/sogo-web
      o: bind   
  solr-vol-1:
    driver_opts:
      type: none
      device: /data/mailcow/solr
      o: bind        
  vmail-index-vol-1:
    driver_opts:
      type: none
      device: /data/mailcow/vmail-index
      o: bind    
  vmail-vol-1:
    driver_opts:
      type: none
      device: /data/mailcow/vmail
      o: bind    

建置完之刪除目前 mailcow 之前所指定放置的目錄

docker volume rm mailcowdockerized_clamd-db-vol-1
docker volume rm mailcowdockerized_crypt-vol-1
docker volume rm mailcowdockerized_mysql-socket-vol-1
docker volume rm mailcowdockerized_mysql-vol-1
docker volume rm mailcowdockerized_postfix-vol-1
docker volume rm mailcowdockerized_redis-vol-1
docker volume rm mailcowdockerized_rspamd-vol-1
docker volume rm mailcowdockerized_sogo-userdata-backup-vol-1
docker volume rm mailcowdockerized_sogo-web-vol-1
docker volume rm mailcowdockerized_solr-vol-1
docker volume rm mailcowdockerized_vmail-index-vol-1
docker volume rm mailcowdockerized_vmail-vol-1

啟用 mailcow 服務 docker-compose up -d ,請在安裝目錄下執行 (例:/opt/mailcow-dockerized)

參考相關網頁: