我有一个脚本,可以使用以下代码在我的无头 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 后面(如果没有任何明确的原因,我无法在路由器上打开任何端口))。
我考虑过使用AppleScript
Apple Mail,但我不想将任何账户与该机器关联(即使我这么做了,我也不会使用 Apple Mail)
所以我完全不知道该如何处理,我可以用 Python 转换该程序,并使用类似 Discord Webhook 的程序来传达选项,但如果可能的话,我希望在 Bash 中使用一些东西