1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > linux自动备份数据库并发送邮件

linux自动备份数据库并发送邮件

时间:2023-10-10 20:10:31

相关推荐

linux自动备份数据库并发送邮件

首先写一个定时任务脚本:

第三行就是数据库备份命令,第四行就是发送附件的命令,其中发送附件我用mail -a +附件的方式一直无法发送,最后用mutt方式方式附件成功!

(说明:因为备份的sql文件比较大都是几百兆,发送邮件是不支持的,最后用rar分卷压缩为5M,在批量发送附件,就可以成功了)

改动为为:

rar a -v5m /root/db_back/fuyin$DATE.rar /root/db_back/fuyin$DATE.sql

mutt -s "每日数据库备份" -a /root/db_back/fuyin$DATE*.rar -- 969114624@ < /root/db_back/delfile.txt

下方为配置安装邮件的步骤:

使用场景:

阿里云服务器centos7(linux)+发送端:163邮箱+接收端:qq邮箱

准备:

163邮箱配置

QQ邮箱配置

开始配置

阿里云封闭25端口,所以不能通过默认的端口(25)发送邮箱服务,需要通过邮箱服务器的加密端口(465)来完成发送邮件的服务。配置流程如下:

①修改 /etc/mail.rc末尾处加入

【利用163邮箱发送,最后一句是证书存放位置,届时发送邮件的时候,会通过此证书,来对加密端口进行解密,此处加密端口是465】

set bsdcompat

set from=xxx@//xxx:自己的163邮箱

set smtp=smtps://:465

set smtp-auth-user=xxx@//xxx:同上

set smtp-auth-password=xxxxxx//xxxxxx:准备阶段获得的授权码

set smtp-auth=login

set ssl-verify=ignore

set nss-config-dir=/root/mail_cert//证书存放位置,后叙

②然后是创建文件夹来放证书文件,执行如下命令行

mkdir-p/root/mail_cert

执行命令:

echo -n "" | openssl s_client -connect :465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /root/mail_cert/163.crt

certutil-A-n"GeoTrust SSL CA"-t"C,," -d /root/mail_cert -i 163.crt

certutil-A-n"GeoTrust Global CA"-t"C,,"-d /root/mail_cert -i 163.crt

certutil-L-d /root/mail_cert

执行后即可发送邮件:

测试:

echo "TEST" | mail -v -s "Title" xxxx@

这里:xxxx@指目标邮箱

邮件可以发送但是会有警告

警告可以忽视,若想去掉警告,则在刚才证书目录/root/mail_cert下执行

certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d /root/mail_cert -i 163.crt

出现如下表示设置成功

Notice: Trust flag u is set automatically if the private key is present.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。