add backup failure notification
This commit is contained in:
parent
d486bf3144
commit
ca6cb3e9da
1 changed files with 32 additions and 0 deletions
32
backup.nix
32
backup.nix
|
@ -16,6 +16,27 @@ let
|
||||||
tarRedisStdoutCmd = pkgs.writeScript "backup-misskey-redis" ''
|
tarRedisStdoutCmd = pkgs.writeScript "backup-misskey-redis" ''
|
||||||
tar -cz -C /var/lib/redis-misskey .
|
tar -cz -C /var/lib/redis-misskey .
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
notifyError = pkgs.writeShellApplication {
|
||||||
|
name = "notify-error";
|
||||||
|
|
||||||
|
runtimeInputs = [ pkgs.sendmail ];
|
||||||
|
|
||||||
|
text = ''
|
||||||
|
from="$1"
|
||||||
|
subject="$2"
|
||||||
|
text="$3"
|
||||||
|
|
||||||
|
sendmail <<EOEMAIL
|
||||||
|
To: admin@heartles.xyz
|
||||||
|
From: noreply+$from@admin.egirls.gay
|
||||||
|
Subject: $subject
|
||||||
|
|
||||||
|
$text
|
||||||
|
|
||||||
|
EOEMAIL
|
||||||
|
'';
|
||||||
|
};
|
||||||
in {
|
in {
|
||||||
users.users."${user}" = {
|
users.users."${user}" = {
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
|
@ -76,6 +97,17 @@ in {
|
||||||
after = [ "network-online.target" ];
|
after = [ "network-online.target" ];
|
||||||
wants = [ "network-online.target" ];
|
wants = [ "network-online.target" ];
|
||||||
requires = [ "postgresql.service" ];
|
requires = [ "postgresql.service" ];
|
||||||
|
|
||||||
|
unitConfig.onFailure = ''
|
||||||
|
${notifyError} "backup" "Misskey Backup Failure Notification" "$(<<EOMSG
|
||||||
|
A backup process has failed. Logs to follow:
|
||||||
|
|
||||||
|
$(journalctl _SYSTEMD_INVOCATION_ID=$(systemctl show --value -p InvocationID misskey-backup.service) -u misskey-backup.service)
|
||||||
|
|
||||||
|
EOMSG
|
||||||
|
)
|
||||||
|
"
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.timers.misskey-backup = { timerConfig.Persistent = true; };
|
systemd.timers.misskey-backup = { timerConfig.Persistent = true; };
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue