记录一些常用的函数和瞎折腾的过程……

Linux自动导出sql数据并发送邮件备份

提醒:本文最后更新于 316 天前,文中所描述的信息可能已发生改变,请谨慎使用。

数据无价,自己的网站虽然不算个啥,但保护好自己的数据却依然重要。

为了方便,弄了一个脚本,自动导出sql数据,自动打包,自动发邮件,弄个定时任务,一切变得轻松起来。

将下面的内容保存为yourname.sh,放到任意位置,添加定时任务即可,怎么弄定时任务?请移步《Linux使用Crontab定时执行指定任务》。

#!/bin/sh

#要备份网站的数据库信息
mysql_user1="sql_user_1"
mysql_user2="sql_user_2"

mysql_name1="sql_name_1"
mysql_name2="sql_name_2"

mysql_pwd1="sql_pw_1"
mysql_pwd2="sql_pw_2"

#构建数据库文件名称
d=`date "+%Y-%m-%d"`
BackName1=sql_name_1_$d
BackName2=sql_name_2_$d

#备份数据库存放路径
BackPath=/root/SQL/

#执行导出数据库
mysqldump -u${mysql_user1} -p${mysql_pwd1} $mysql_name1 > $BackPath$BackName1.sql
mysqldump -u${mysql_user2} -p${mysql_pwd2} $mysql_name2 > $BackPath$BackName2.sql

#压缩数据库包
#打包/root目录下的SQL文件夹,SQL目录需要手动建立
tar -czvPf mysql_$d.tar.gz -C /root SQL

#压缩后删除备份目录中的sql文件
rm $BackPath*.sql

#发送邮件的标题和内容
title="MySQL-Backup-$d"
content="Hello,Master!MySQL backup has been completed!Backup Time:$d"

#用自带的mail发邮件,需要配置/etc/mail.rc,在最后添加smtp信息,需要使用25端口
echo "$content" | mail -s "$title" -a /root/mysql_$d.tar.gz your@mail.com

#退出当前脚本
exit
《Linux自动导出sql数据并发送邮件备份》没有评论
发表评论