mswatch(1) watch mailstores for changes and initiate mailbox syncs


mswatch [options ...]


mswatch is a command line program that makes keeping two mailboxes synchronized faster and more efficient than periodically synchronizing the two mailboxes.

mswatch watches mailboxes to know when to initiate mailbox syncs. Using mswatch, your mail synchronization program can be called on demand instead of through polling, resulting in prompter mail delivery and lower bandwidth usage and server load.


-c file, --config=file
Read configuration from file. By default, the configuration is read from ~/.mswatchrc.
-d, --dry
Watch mailstores for changes but do not initiate syncs.
-q, --quiet
Do not print success status messages.
-V, --version
Display version information.
-?, --help
Display a summary of command line options.


Print names of mailboxes with pending syncs.
Gracefully exit.


The configuration file is mandatory; mswatch will not run without it. Text starting with a hash mark (#) through the end of the current line are comments and are ignored. Spaces and tabs delimit.
base_delay time
Default: 10 seconds
Minimum time after first queued mailbox change to synchronization.
inter_delay time
Default: 60 seconds
Minimum time between two synchronizations or failed attempts (this is the default inter_delay setting for mailboxes).
inter_delay time mailboxes ...
Default: inter_delay
Minimum time between two synchronizations or failed attempts for the list mailboxes.
max_delay time
Default: 600 seconds
Maximum waiting time between failed attempts.
poll_period time
Default: 86400 seconds (1 day)
Period at which to poll all mailboxes. This option is for use with sync programs that can error without returning a failed status---it ensures that the mailboxes are at least this fresh. To disable polling, set the period to 0.
ignore mailboxes ...
Do not initiate explicit synchronizations for these mailboxes. mswatch will ignore changes made to these mailboxes while it is running, but will still synchronize them at start when all mailboxes are synchronized.
sync program arguments ...
Program and arguments to run to synchronize mail stores. Mailbox names are appended to arguments ... when program is run.
mailbox_prefix prefix separator
Prefix these strings to mailbox names passed to sync; useful when using mbsync for sync, as the mbsync channel. If present, prefix is always prefixed to mailbox names. When synchronizing a particular mailbox, separator is inserted between prefix and the mailbox name (separator is not inserted when synchronizing all mailboxes).
Given prefix = "mydomain" and separator = ":" and that the mailbox "INBOX" is to be synchronized, "mydomain:INBOX" is passed to sync.
Given prefix = "mydomain" and separator = ":" and that all mailboxes are to be synchronized, "mydomain" is passed to sync.
store name { watch program arguments ... }
Required (two stores)
A mailstore to watch. Call it name when reporting status information to the user. watch sets the program and arguments to run the mailstore watcher. watch_maildirs(1) is a Maildir mailstore watcher.


Default configuration file


Written by Chris Frost <[email protected]>.