如何在不发送电子邮件的情况下警告某人脚本失败?

如何在不发送电子邮件的情况下警告某人脚本失败?

我有一个脚本,可以使用以下代码在我的无头 Mac Mini 上对我的 Keepass DB 进行每小时备份和签名加密:

#!/bin/bash

DATE=$(gdate +"%d%m%y_%H%M")
LDATE=$(gdate --rfc-3339=seconds)
DIR="/Users/stig124/Sec"
FILENAME="/Users/stig124/bak/secbak-$DATE.tar.xz"
KEY="<REDACTED>"

cd /Users/stig124 || exit

gtar cJf "$FILENAME" "$DIR"
gpg --yes --batch -r "$KEY" --passphrase-file /Users/stig124/pkx  --output "$FILENAME".enc --encrypt --sign "$FILENAME"

if [ "$?" != 0 ]; then
    echo "Encryption failed"
    exit
else
    find /Users/stig124/bak/ -mtime +7 -exec rm {} \;
fi

rclone copy "$FILENAME".enc G2D:/backup

if [ "$?" != 0 ]; then
    echo "Export failed"
    exit
else
    echo "Everything fine"
    rm -f "$FILENAME"
fi

我知道通知错误的主要方式是电子邮件,但我无法在我的任何机器上执行邮件服务器(在无功能的 NAT 后面(如果没有任何明确的原因,我无法在路由器上打开任何端口))。

我考虑过使用AppleScriptApple Mail,但我不想将任何账户与该机器关联(即使我这么做了,我也不会使用 Apple Mail)

所以我完全不知道该如何处理,我可以用 Python 转换该程序,并使用类似 Discord Webhook 的程序来传达选项,但如果可能的话,我希望在 Bash 中使用一些东西

相关内容