Back up Email with a Single Command

Productivity Sauce
The Web is awash with tutorials on how to back up your email. Strangely, none of them covers probably the easiest and most efficient email backup system based on the excellent IMAP Grab utility. This tiny Python script acts as a user-friendly wrapper for the getmail tool. Using the script, you can set up a fool-proof email backup solution using just a single command.
Deploying the IMAP Grab backup solution is a cinch. First off, install the getmail package using your distro's package manager. Download then the latest IMAP Grab package, unzip it, and move the imapgrab.py file to the directory of your choosing. Make the script executable using the chmod +x imapgrab.py command.
To make sure that the script works properly and to obtain a list of the available mailboxes, run the following command in the terminal:
./imapgrab.py -l -s imap.mail.server -u username -p password
Replace imap.mail.server, username, and password with the actual mail server address and your login credentials. The -l (or --list) argument instructs the script to fetch a list of IMAP folders on the specified email account. If everything works as it should, the command should return a list of the available mailboxes.
Now you can construct a command to back up emails. It may look something like tihs:
./imapgrab.py -d -v -M -f /home/user/emailbackup -s imap.mail.server -u username -p password -m "_ALL_,-INBOX.Trash,-INBOX.Junk Mail"
The -d (--download) argument instructs the script to download messages, while the -f (--folder) argument specifies the destination directory. By default, the script downloads emails in the Mbox format which stores all messages in a single file. However, IMAP Grab supports the Maildir format, too, and you can force the script to use this format by adding the -M (--maildir) argument.
IMAP can also handle SSL connections, and you can use the -S (--ssl) and -p (--port) arguments to enable this feature:
./imapgrab.py -l -s imap.mail.server -S -p 993 -u username -p password
The -m (--mailboxes) argument lets you specify which IMAP folders you want the script to back up. The _ALL_ switch instructs the script to download all the available folders. To exclude certain folders from the backup, use the minus (-) character followed by the name of the mailbox you want the script to omit. So the -m "_ALL_,-INBOX.Trash,-INBOX.Junk Mail" argument instructs the script to download all folders except INBOX.Trash and INBOX.Junk Mail.
Finally, when you run the script for the first time, you might want to add the -a (-all) argument which forces IMAP Grab to download all messages.
That's all there is to it. To perform backup on a regular basis, set up a cron job, and you are done.
Comments
comments powered by DisqusIssue 41: Linux Shell Handbook 2021 Edition/Special Editions
Buy this issue as a PDF
News
-
KDE Launches the Qt 5 Patch Collection
To support and maintain a stable Qt 5 for KDE Gears and Frameworks, KDE will maintain a patch collection.
-
Linux Creator Warns Next Kernel Could be Delayed
Linus Torvalds has issued concern about the size of kernel 5.12 and possible delays for its release.
-
System76 Updates its Pangolin Laptop
System76 has released a much-anticipated AMD version of their most popular laptop, the Pangolin.
-
New Debian-Based Distribution Arrives on the Market
TelOS is a new Debian-based Linux distribution with a customized, touch-screen-ready KDE Plasma 5 desktop.
-
System76 Releases New Thelio Desktop
One of the most ardent supporters of open source hardware has released a new desktop machine for home or office.
-
Mageia 8 Now Available with Linux 5.10 LTS
The latest release of Mageia includes improved graphics support for both AMD and NVIDIA GPUs.
-
GNOME 40 Beta has been Released
Anyone looking to test the beta for the upcoming GNOME 40 release can now do so.
-
OpenMandriva Lx 4.2 has Arrived
The latest stable version of OpenMandriva has been released and offers the newest KDE desktop and ARM support.
-
Thunderbird 78 Ported to Ubuntu 20.04
The Ubuntu developers have made the decision to port the latest release of Thunderbird to the LTS version of the platform.
-
Elementary OS is Bringing Multi-Touch Gestures to the OS
User-friendly Linux distribution, elementary OS, is working to make using the fan-favorite platform even better for laptops.
This is the main site
Download
Restore
small mistake
IMAP Grab GUI