0ab423ca55
The data-only rsync left no way to restore a working instance: mysql/ and config/ were never backed up, so a recovery would have files but no shares, users or metadata. Dump the database before syncing files (a DB older than the files is repairable with occ files:scan; a newer one references blobs that never made it into the backup) and ship config/ alongside it. Capture the --chmod=Du=rwx,Dgo=rx flag that had been hand-added to the deployed skudak-cloud script. It was outside git, so every deploy silently reverted it. It now lives in backup_rsync_extra_args. Add OnFailure= alerting. The units failed silently before, which is how an iDrive sync failure sat unnoticed since May. msmtp rather than the esmtp already installed: the OpenSRS relay is port 465 (implicit TLS) and libesmtp only speaks STARTTLS. Exclude nextcloud.log* from the sync and cap log_rotate_size. skudak-cloud was running at loglevel 0 and had written a 64 GB log that was being rsynced and pushed to S3; set it to 2 to match the home instance. Stagger the timers (04:00 / 04:30) so both finish before the 05:00 TrueNAS snapshot task, and bound TimeoutStartSec so a wedged rsync cannot leave the unit activating forever and skip every subsequent trigger. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
18 lines
557 B
Django/Jinja
18 lines
557 B
Django/Jinja
# {{ ansible_managed }}
|
|
defaults
|
|
auth on
|
|
tls on
|
|
tls_trust_file /etc/pki/tls/certs/ca-bundle.crt
|
|
logfile /var/log/msmtp.log
|
|
|
|
account home
|
|
host {{ system_smtp_host | default('mail.b.hostedemail.com') }}
|
|
port {{ system_smtp_port | default(465) }}
|
|
# Port 465 is implicit TLS (SMTPS), not STARTTLS.
|
|
tls_starttls off
|
|
from {{ system_smtp_from | default('home@bdebyl.net') }}
|
|
user {{ system_smtp_user | default('home@bdebyl.net') }}
|
|
password {{ home_smtp }}
|
|
|
|
account default : home
|