README.md in imap-backup-13.4.0 vs README.md in imap-backup-14.0.0
- old
+ new
@@ -1,19 +1,20 @@
![Version](https://img.shields.io/gem/v/imap-backup?label=Version&logo=rubygems)
[![Build Status](https://github.com/joeyates/imap-backup/actions/workflows/main.yml/badge.svg)][CI Status]
![Coverage](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/joeyates/b54fe758bfb405c04bef72dad293d707/raw/coverage.json)
![License](https://img.shields.io/github/license/joeyates/imap-backup?color=brightgreen&label=License)
+[![Stars](https://img.shields.io/github/stars/joeyates/imap-backup?style=social)][GitHub Stars]
# imap-backup
Backup, restore and migrate email accounts.
# Quick Start
```sh
brew install imap-backup # for macOS
-gem install imap-backup # for Linux
+gem install imap-backup --no-document # for Linux
imap-backup setup
imap-backup
```
# Modes
@@ -33,39 +34,47 @@
# Installation
## Homebrew (macOS)
+![Homebrew installs](https://img.shields.io/homebrew/installs/dm/imap-backup?label=Homebrew%20installs)
+
If you have [Homebrew](https://brew.sh/), do this:
```sh
brew install imap-backup
```
## As a Ruby Gem
```sh
-gem install imap-backup
+gem install imap-backup --no-document
```
If that doesn't work, see the [detailed installation instructions](docs/installation/rubygem.md).
## From Source Code
If you want to use imap-backup directly from the source code, see [here](docs/installation/source.md).
# Setup
-As a first step, you need to add accounts via a menu-driven command
-line program:
+Normally you will want to backup a number of email accounts.
+Doing so requires the creation of a config file.
+You do this via a menu-driven command line program:
+
Run:
```sh
imap-backup setup
```
+As an alternative, if you only want to backup a single account,
+you can pass all the necessary parameters directly to the `single backup` command
+(see the [`single backup`](docs/commands/single-backup.md) docs).
+
## GMail
To use imap-backup with GMail, Office 365 and other services that require
OAuth2 authentication, you can use [email-oauth2-proxy](https://github.com/simonrob/email-oauth2-proxy)
to handle authentication, and then connect to the proxy on a local port.
@@ -78,28 +87,29 @@
imap-backup
```
Alternatively, add it to your crontab.
-Backups can also be inspected, for example via [local show](docs/commands/local-show.md)
-and exported via [utils export-to-thunderbird](docs/commands/utils-export-to-thunderbird.md).
+Backups can also be inspected, for example via [`local show`](docs/commands/local-show.md)
+and exported via [`utils export-to-thunderbird`](docs/commands/utils-export-to-thunderbird.md).
# Commands
-* [backup](docs/commands/backup.md)
-* [local accounts](docs/commands/local-accounts.md)
-* [local check](docs/commands/local-check.md)
-* [local folders](docs/commands/local-folders.md)
-* [local list](docs/commands/local-list.md)
-* [local show](docs/commands/local-show.md)
-* [migrate](docs/commands/migrate.md)
-* [mirror](docs/commands/mirror.md)
-* [remote folders](docs/commands/remote-folders.md)
-* [restore](docs/commands/restore.md)
-* [setup](docs/commands/setup.md)
-* [utils export-to-thunderbird](docs/commands/utils-export-to-thunderbird.md)
-* [utils ignore-history](docs/commands/utils-ignore-history.md)
+* [`backup`](docs/commands/backup.md)
+* [`local accounts`](docs/commands/local-accounts.md)
+* [`local check`](docs/commands/local-check.md)
+* [`local folders`](docs/commands/local-folders.md)
+* [`local list`](docs/commands/local-list.md)
+* [`local show`](docs/commands/local-show.md)
+* [`migrate`](docs/commands/migrate.md)
+* [`mirror`](docs/commands/mirror.md)
+* [`remote folders`](docs/commands/remote-folders.md)
+* [`restore`](docs/commands/restore.md)
+* [`setup`](docs/commands/setup.md)
+* [`single backup`](docs/commands/single-backup.md)
+* [`utils export-to-thunderbird`](docs/commands/utils-export-to-thunderbird.md)
+* [`utils ignore-history`](docs/commands/utils-ignore-history.md)
For a full list of available commands, run
```sh
imap-backup help
@@ -116,70 +126,37 @@
There are a couple of performance tweaks that you can use
to improve backup speed.
These are activated via two settings:
-* Global setting "Delay download writes"
-* Account setting "Multi-fetch size"
+* Global setting "Delay download writes",
+* Account setting "Multi-fetch size".
-As with all performance tweaks, there are trade-offs.
-If you are using a small virtual server or Raspberry Pi
-to run your backups, you will probably want to leave
-the default settings.
-If, on the other hand, you are using a computer with a
-fair bit of RAM, and you are dealing with a *lot* of email,
-then changing these settings may be worthwhile.
+See [the performance document](docs/performance.md) for more information.
-## Delay download writes
-
-This setting affects all account backups.
-
-By default, `imap-backup` uses the "delay metadata" strategy.
-As messages are being backed-up, the message *text*
-is written to disk, while the related metadata is stored in memory.
-
-While this uses a little more memory, it avoids rewiting a growing JSON
-file for every message, speeding things up and reducing disk wear.
-
-The alternative strategy, called "direct", writes everything to disk
-as it is received. This method is slower, but has the advantage
-of using slightly less memory, which may be important on very
-resource-limited systems, like Raspberry Pis.
-
-## Multi-fetch Size
-
-By default, during backup, each message is downloaded one-by-one.
-
-Using this setting, you can download chunks of emails at a time,
-potentially speeding up the process.
-
-Using multi-fetch *will* mean that the backup process will use
-more memory - equivalent to the size of the groups of messages
-that are downloaded.
-
-This behaviour may also exceed the rate limits on your email provider,
-so it's best to check before cranking it up!
-
# Troubleshooting
If you have problems:
1. ensure that you have the latest release,
2. run `imap-backup` with the `-v` or `--verbose` parameter.
# Development
+![Activity](https://img.shields.io/github/last-commit/joeyates/imap-backup/main)
+
See the [Development documentation](./docs/development.md) for notes
on development and testing.
-See [the CHANGELOG](./CHANGELOG.md) to a list of changes that have been
+See [the CHANGELOG](./CHANGELOG.md) for a list of changes that have been
made in each release.
* [Source Code]
* [Code Documentation]
* [Rubygem]
* [CI Status]
[Source Code]: https://github.com/joeyates/imap-backup "Source code at GitHub"
+[GitHub Stars]: https://github.com/joeyates/imap-backup/stargazers "GitHub Stars"
[Code Documentation]: https://rubydoc.info/gems/imap-backup/frames "Code Documentation at Rubydoc.info"
[Rubygem]: https://rubygems.org/gems/imap-backup "Ruby gem at rubygems.org"
[CI Status]: https://github.com/joeyates/imap-backup/actions/workflows/main.yml