Hi to all We have a maildir with about 180GB of emails. We have to archive them to a structure like: .Archive.YYY./MM.folder
Are you aware of a script doing this ? I've found a perl script that doesn't spit in year and month and a very, very, very, very, very old python script that:
- doesn't manage base64 encoded subject properly
- doesn't work with python 3.x (that is able to manage base64 encoded subject properly
Any idea ?
Am 13.02.19 um 10:22 schrieb Gandalf Corvotempesta via dovecot:
Hi to all We have a maildir with about 180GB of emails. We have to archive them to a structure like: .Archive.YYY./MM.folder
Are you aware of a script doing this ? I've found a perl script that doesn't spit in year and month and a very, very, very, very, very old python script that:
- doesn't manage base64 encoded subject properly
- doesn't work with python 3.x (that is able to manage base64 encoded subject properly
Any idea ?
Hello Gandalf, Thunderbird can do this (i.e. .Archive.YYYY.YYYY-MM)
-- peter
I have made something for archiving that you can supply with an array of mail folders and it wil move messages of a specific year to a folder ARCHIVE/YEAR. If you only have 180GB I would not make subdivision in months. Just put everything in a year folder sent and and received combined. Also use doveadm in your script, that wil work on any type of storage and you do not want to risk loosing email, because someone is not 'coding' properly.
-----Original Message----- From: Gandalf Corvotempesta via dovecot [mailto:dovecot@dovecot.org] Sent: 13 February 2019 10:23 To: Dovecot Mailing List Subject: Archive maildir
Hi to all We have a maildir with about 180GB of emails. We have to archive them to a structure like: .Archive.YYY./MM.folder
Are you aware of a script doing this ? I've found a perl script that doesn't spit in year and month and a very, very, very, very, very old python script that:
- doesn't manage base64 encoded subject properly
- doesn't work with python 3.x (that is able to manage base64 encoded subject properly
Any idea ?
Il giorno mer 13 feb 2019 alle ore 11:09 Aki Tuomi <aki.tuomi@open-xchange.com> ha scritto:
with 2.3.4 you could use the new FILTER command over IMAP to run sieve script.
It's a very very old server, i'm not on 2.4.x I've managed to make this working: https://gist.github.com/fwenzel/280896
is working properly. I had to make just 1 fix: keep the original filename when archiving and not changing to something else
On 13 Feb 2019, at 11.22, Gandalf Corvotempesta via dovecot <dovecot@dovecot.org> wrote:
Hi to all We have a maildir with about 180GB of emails. We have to archive them to a structure like: .Archive.YYY./MM.folder
Are you aware of a script doing this ? I've found a perl script that doesn't spit in year and month and a very, very, very, very, very old python script that:
- doesn't manage base64 encoded subject properly
- doesn't work with python 3.x (that is able to manage base64 encoded subject properly
Any idea ?
Maybe just simple scripting and doveadm move? There is even example at the bottom of the wikipage: https://wiki2.dovecot.org/Tools/Doveadm/Move <https://wiki2.dovecot.org/Tools/Doveadm/Move>
Sami
On 13 Feb 2019, at 02:22, Gandalf Corvotempesta via dovecot <dovecot@dovecot.org> wrote:
Hi to all We have a maildir with about 180GB of emails. We have to archive them to a structure like: .Archive.YYY./MM.folder
Are you aware of a script doing this ? I've found a perl script that doesn't spit in year and month and a very, very, very, very, very old python script that:
- doesn't manage base64 encoded subject properly
- doesn't work with python 3.x (that is able to manage base64 encoded subject properly
Why would the script be looking at the contents of the messages at all? <uch css having to "deal" with the subject? If you are using maildir, you have the timestamp in the filename, and you can easily sort a message into yyyy.mm folders from there. You can also, considering the size of the mail isn't in the multi terabyte range, just use filtering to do this for you (filtering of tour choice, I'd guess most any filtering could handle it).
But the question is, why do you have to archive this 180GB of mail?
Do you simple have to preserve it? In that case, tax cjf works great! After all, sorting mail that no one is ever going to look at is unlikely to be worth the effort, is it?
If you need to have constant access to it, then you should probably get those emails into a fast DB of some sort.
-- 'Never trust a ruler who puts his faith in tunnels and bunkers and escape routes. The chances are that his heart isn't in the job.'
Il giorno mer 13 feb 2019 alle ore 14:02 @lbutlr via dovecot <dovecot@dovecot.org> ha scritto:
Why would the script be looking at the contents of the messages at all? <uch css having to "deal" with the subject? If you are using maildir, you have the timestamp in the filename, and you can easily sort a message into yyyy.mm folders from there. You can also, considering the size of the mail isn't in the multi terabyte range, just use filtering to do this for you (filtering of tour choice, I'd guess most any filtering could handle it).
The script isn't made by me and i'm not a python programme, thus, i'll keep it as-is
I really prefere a bash one-liner......
Am 13.02.19 um 15:44 schrieb Gandalf Corvotempesta via dovecot:
Il giorno mer 13 feb 2019 alle ore 14:02 @lbutlr via dovecot <dovecot@dovecot.org> ha scritto:
Why would the script be looking at the contents of the messages at all? <uch css having to "deal" with the subject? If you are using maildir, you have the timestamp in the filename, and you can easily sort a message into yyyy.mm folders from there. You can also, considering the size of the mail isn't in the multi terabyte range, just use filtering to do this for you (filtering of tour choice, I'd guess most any filtering could handle it).
The script isn't made by me and i'm not a python programme, thus, i'll keep it as-is
I really prefere a bash one-liner......
Here for a start
ls | while read F; do echo $F; T=$(echo $F | cut -c 1-10); D=$(date --date="@$T" "+../../.Archive.%Y-%m/cur"); echo $D; done
The file is in $F; the target directory is in $D; in front of the last semicolon you add
mkdir -p $D; mv $F $D
-- peter
On 13 Feb 2019, at 11:10, Peter Chiochetti via dovecot <dovecot@dovecot.org> wrote:
ls | while read F; do echo $F; T=$(echo $F | cut -c 1-10); D=$(date --date="@$T" "+../../.Archive.%Y-%m/cur"); echo $D; done
Perfect!
(change date to gdate if your system is BSD based and your gnu tools are prefix with 'g')
-- You know a thorn can main / But a lover does the same / A gem will reflect light / And a Fool will marvel at the sight / A fool such as me, /Who sees not the gold, but the beauty of the shine
participants (6)
-
@lbutlr
-
Aki Tuomi
-
Gandalf Corvotempesta
-
Marc Roos
-
Peter Chiochetti
-
Sami Ketola