This module automatically downloads your Google Mail, Contacts & Calendar to separate files. It'll sync only new Mails, Contacts & Events.
This tool will output the following directory structure:
.
├── Contacts
│ └── *.vcf
├── Calendar
│ └── *.ical
└── Mail
├── By ID
│ └── *.eml
├── By Thread
│ └── <...>
│ └── *.eml
└── By Label
├── <...>
│ └── *.eml
└── [Gmail]
├── All Mail
│ └── *.eml
├── Sent
│ └── *.eml
└── <...>
└── *.eml
Note: All e-mail files are symlinked to 'By ID/*.eml'.
Google makes great services, but there are many horror stories of people locked out of their accounts. So be safe, and keep your data backed up!
Create a Google App Password at https://myaccount.google.com/apppasswords.
If you have Node.js already installed, run:
$ npx -y google-backup \
--username "john.doe@gmail.com" \
--password "abcd efgh ijkl mnop" \
--filepath "~/Backups/Google/"
Hint: You can schedule this in a cronjob for automated backups.
If you prefer Docker, this is an example how to run:
$ docker run \
--env GOOGLE_BACKUP_USERNAME="john.doe@gmail.com" \
--env GOOGLE_BACKUP_PASSWORD="abcd efgh ijkl mnop" \
--env GOOGLE_BACKUP_FILEPATH="/backups" \
--volume="~/Backups/Google/:/backups/" \
ghcr.io/weejewel/google-backup
Looking to backup iCloud Drive in a similar way? See iCloud Backup.