| Commit message (Collapse) | Author | Age | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit introduces the 'run-report' command and a new config file
'config/recipient' which indicates the recipient of the report.
Since lifeboat was always intended to be run via a cronjob, we assumed
mail functionality would come from the specific crond implementation.
This is well-supported throughout, but not a feature that systemd's
timers (yet?) have. Since one of our systems is now running systemd, we
needed a decent alternative.
A wrapper script was considered, but at that point we could also just as
simply include mail support in lifeboat itself. We have chosen to
implement this by calling out to sendmail, which seems to be a de-facto
standard (postfix has sendmail compatibility, as does msmtp). It should
be available on a wide range of systems.
For now, hardcode the message headers and send mail to one recipient
only. Set the X-Report header for simple filtering by mail clients.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In sync_default, we test whether the config/sync file exists before
reading from it. If it does not exist, we return from the function using
the exit status of the last command (test), which in this case is 1.
For default setups that do not specify a config/sync file, this will
lead to the script as a whole exiting unsuccessfully even though no
error occurred. Make sure to set the exit status to 0 in order to signal
successful completion of the sync task.
Reported-by: Jan Rathner <jarainf@freenode>
|
| |
|
|
|
|
|
| |
The command must not have completed successfully if usage() was called,
so indicate this to the user as well.
|
| |
|
|
|
|
|
|
|
|
|
| |
sync_default() suffers from needlessly complicated logic in its
threshold test. Join the two if clauses together and skip targets
cleanly by using `continue` instead.
Where possible, use OR lists instead of if clauses and also inline the
whole sync_single() function, which was only called from here.
|
|
|
|
|
| |
Instead of using another variable name to refer to the value of
LIFEBOAT_ROOT or its default, use LIFEBOAT_ROOT directly.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
When before lifeboat was expecting the user to populate the run, post,
and sync scripts, now it includes a sane default for each step of the
backup process, making deployments much more simple.
The post script was split up into retain and clean.
|
| |
|
| |
|
| |
|
| |
|
|
|