Linux /Centos 7 服务器定时将备份信息、日志发送到邮箱
公司业务需要将数据库每日备份,然后在保存到本地硬盘,且未搭建文件服务器。于是换一种思路解决,利用Linux发送邮件并添加备份文件作为附件信息,发送到指定的邮箱,然后定时执行脚本的下载附件备份到本地
一、邮箱相关配置
1、安装邮件服务
1 | yum install mailx |
若centos8 无法安装,需要执行以下命令
1 2 | sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-* sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-* |
2、编辑邮件服务文件
1 | vim /etc/mail.rc |
3、配置邮箱证书
证书名称根据自己情况而定
1 2 3 4 5 | mkdir -p /root/.certs/ ####创建目录,用来存放证书 echo -n | openssl s_client -connect smtp. 163 .com: 465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/ 163 .crt ####向 163 请求证书 certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/ 163 .crt ####添加一个SSL证书到证书数据库中 certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/ 163 .crt ####添加一个Global 证书到证书数据库中 certutil -L -d /root/.certs ####列出目录下证书 |
若系统没有 certutil 需要进行安装,centos安装命令如下:
1 | yum install nss-tools |
别的系统可参考以下命令:
1 2 3 4 5 6 7 | sudo apt install libnss3-tools -or- sudo yum install nss-tools -or- sudo pacman -S nss -or- sudo zypper install mozilla-nss-tools |
安装好之后,若是出现 certutil: function failed: security library: bad database.
参考:certutil: function failed: security library: bad database
安装完成之后,使用以下命令即可发送邮件,目标邮箱收到邮件则表示配置成功 -a 后面的参数为需要发送邮件的地址
mail -s "测试邮件" -a /docker/xxxxxxxxxxxx xxxxxx@qq.com
二、shell脚本
目的是达到定时自动发送邮件,所以还需要shell脚本支持
#!/bin/bash
echo | mailx -s `date +"%Y.%m.%d"`系统日志 -a /xxxxxxxxxxxxxx-`date +"%Y%m%d"`.log -a /xxxxxxxxxxxxxxxx-`date +"%Y%m%d"`.log xxxxxxxxxxxx@qq.com
设置脚本定时执行即可
参照
参考资料:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?