Назад | Перейти на главную страницу

Как синхронизировать почту с сервера в резервную копию, когда на сервере остаются только последние письма

На данный момент я делаю простое резервное копирование почты: на сервере есть Maildir, и я использую rsync для синхронизации Maildir с сервера на резервную копию.

Поэтому я удаляю на сервере все файлы старше одного месяца. Таким образом, у меня есть только последние сообщения на сервере, а остальные только в резервной копии. Поэтому я не использую много места на сервере, и если кто-то меня взломает, он получит только месяц писем вместо всего архива.

я использую следующие команды:

rsync -avz Maildir/ backupserver:backup/Mails/
cd Maildir
touch -d 2011-07-30 dummy
find -type f \! -newer dummy -delete

Это работает довольно хорошо, но когда я перемещаю почту, которая уже находится в резервной копии, у меня будет две копии почты в резервной копии. Одна копия из старого задания резервного копирования, одна из нового. Или я могу даже решить удалить почту, и она не будет удалена из резервной копии.

Я мог бы использовать rsync с --delete, но тогда мне нужно иметь полный архив на сервере, потому что в противном случае он также удалит старые письма из резервной копии.

Итак, теперь мой вопрос: как я могу синхронизировать электронную почту таким образом, чтобы сохранить перемещения и удаления?

Хорошо, думаю, я нашел решение:

С помощью Syncmaildir, я синхронизирую свои электронные письма от локального maildir с удаленным maildir. Когда я хочу удалить старые письма с сервера, но не из резервной копии, я сначала синхронизирую в последний раз, что синхронизирует добавленные / удаленные / перемещенные письма, затем я удаляю mail-db из локальной и удаленной папки .smd /. и удалите старые письма.

Шаги в деталях:

  • синхронизировать почту с smd-pull
  • при удалении старых писем с сервера:
    • синхронизировать последний раз с помощью smd-pull
    • удалите старые письма с помощью find-cmdline.
    • удалить файлы .smd / profilename__Mail.db.txt * локально / удаленно
    • синхронизируйте снова, поэтому база данных будет перестроена для оставшихся файлов, поэтому перемещения / удаления могут быть обнаружены.
  • синхронизировать почту как всегда