ubuntu定时备份数据库并发送邮件


一、 安装 mail

安装

  • sudo apt-get install heirloom-mailx

修改配置文件 /etc/s-nail.rc(Ubuntu)/etc/mail.rc(centOS)

  • sudo vim /etc/s-nail.rc
# 在最后加上下面一部分
set from=example@163.com smtp=smtp.163.com
//此处以163邮箱举例,也可以使用qq邮箱,此时smtp=smtp.exmail.qq.com
//其他企业邮箱以自己公司邮箱服务器为准
set smtp-auth-user="example@163.com" smtp-auth-password="password" smtp-auth=login

之后即可使用 mail 命令发送邮件,发送邮件有以下三种方式:

方法一:交互形式发送邮件

mail + 邮箱地址
填写主题
填写内容
ctrl + d 结束输入
cc 代表抄送,回车完成发送

方法二:通道形式发送

echo “邮件内容” | mail -s “主题” 邮箱地址

方法三:读取文件内容发送

mail -s “主题” “邮箱地址” < “path/filename”

二、备份数据库

此处不再赘述,详情可见docker 数据库备份

三、编写 mail 脚本

#!/bin/bash
data_dir=/home/ubuntu/data/mysql_dump
receive_email=example@qq.com

echo "database backup" | /usr/bin/mail -s "BackUp" -a $data_dir/data_`date +%Y%m%d`.sql $receive_email

四、放到定时任务

  • crontab -e
0 23 * * * /bin/sh /home/ubuntu/shell/mysql_dumps.sh
30 23 * * 7 /bin/sh /home/ubuntu/shell/send_email.sh

以上


文章作者: Qliang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Qliang !
评论
 上一篇
使用jwt完成sso单点登录 使用jwt完成sso单点登录
JWT在了解 jwt 之前,先了解一下常用的会话管理 基于server-session的管理方式 cookie-based的管理方式 token-based的管理方式 一.基于server-session的管理 服务端session是用户
2018-06-02
下一篇 
docker数据库备份 docker数据库备份
第一次备份脚本直接执行可以备份成功,当使用定时任务进行备份的时候,备份的文件为空,也就是说没有mysqldump出内容 #!/bin/bash docker_name=mysql_container data_dir=/home/ubunt
2018-05-18
  目录