gpt4 book ai didi

postgresql - Postgres 备份脚本不通过电子邮件发送

转载 作者:行者123 更新时间:2023-11-29 13:53:25 27 4
gpt4 key购买 nike

我正在使用 autopostgresqlbackup 在 Debian 8.3 上备份我的 PostgreSQL 数据库。一切正常,除了压缩备份不会通过电子邮件发送给我。当我使用“sudo autopostgresqlbackup”运行脚本时,我得到:

Can't stat <redacted name>@gmail.com: No such file or directory
<redacted name>@gmail.com: unable to attach file.

根据我的研究,这可能是因为 mutt 要求“-a 选项必须放在命令行选项的末尾”

脚本本身的相关部分似乎是:

ATTSIZE=`du -c $BACKUPFILES | grep "[[:digit:][:space:]]total$" |sed s/\s*total//`
if [ $MAXATTSIZE -ge $ATTSIZE ]
then
if which biabam >/dev/null 2>&1
then
BACKUPFILES=$(echo $BACKUPFILES | sed -r -e 's#\s+#,#g')
biabam -s "PostgreSQL Backup Log and SQL Files for $HOST - $DATE" $BACKUPFILES $MAILADDR < $LOGFILE
elif which heirloom-mailx >/dev/null 2>&1
then
BACKUPFILES=$(echo $BACKUPFILES | sed -e 's# # -a #g')
heirloom-mailx -s "PostgreSQL Backup Log and SQL Files for $HOST - $DATE" $BACKUPFILES $MAILADDR < $LOGFILE
elif which mutt >/dev/null 2>&1
then
BACKUPFILES=$(echo $BACKUPFILES | sed -e 's# # -a #g')
mutt -s "PostgreSQL Backup Log and SQL Files for $HOST - $DATE" $BACKUPFILES $MAILADDR < $LOGFILE
else
cat "$LOGFILE" | mail -s "WARNING! - Enable to send PostgreSQL Backup dumps, no suitable mail client found on $HOST - $DATE" $MAILADDR
fi
else
cat "$LOGFILE" | mail -s "WARNING! - PostgreSQL Backup exceeds set maximum attachment size on $HOST - $DATE" $MAILADDR

我试图颠倒上面代码中“-a #g”的顺序,但是我得到了错误。如果有脚本备份 Postgres 并且只发送日志,一切正常,但如果我有它通过电子邮件发送备份文件,则一切正常。电子邮件附件不起作用的任何想法?

最佳答案

已解决:将 mutt 的“$BACKUPFILES $MAILADDR < $LOGFILE”顺序更改为“$MAILADDR $BACKUPFILES < $LOGFILE”,这阻止了 mutt 尝试将电子邮件地址附加为一个附件,因此失败。

像这样:

mutt -s "PostgreSQL Backup Log and SQL Files for $HOST - $DATE" $MAILADDR $BACKUPFILES < $LOGFILE

关于postgresql - Postgres 备份脚本不通过电子邮件发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36626091/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com