版权声明:欢迎分享转载 我可能会失败,但我不会一直失败 https://blog.csdn.net/u012637358/article/details/89215676
准备工作
使用linux系统mail发送邮件功能,修改配置一下内容:
vim /etc/mail.rc
文件尾增加以下内容
set [email protected] smtp="smtp.sarnath.com"
set smtp-auth-user="[email protected]" smtp-auth-password="xxxxx"
set smtp-auth=login
说明:
from: 对方收到邮件时显示的发件人
smtp: 指定第三方发送邮件的smtp服务器地址
smtp-auth: SMTP的认证方式。默认是LOGIN,也可改为CRAM-MD5或PLAIN方式
smtp-auth-user: 第三方发邮件的用户名
smtp-auth-password: 用户名对应密码
问题
mysql和mysqldump出现command not found 问题解决
1、查找mysql安装路径
find / -name mysql
通常mysql安装路径在:/usr/local/mysql/bin/mysql
2、mysql:command not found建立软连接
ln -s /usr/local/mysql/bin/mysql /usr/bin
3、mysqldump:command not found 建立软连接
ln -s /usr/local/mysql/bin/mysqldump /usr/bin
备份脚本
#!/bin/bash
db_ip="192.168.0.189"
db_user="root"
db_passwd="898"
db_name="kongguan"
# the directory for story your backup file.you shall change this dir
backup_dir="/opt/mysqlbackup"
echo ${backup_dir}
# date format for backup file (dd-mm-yyyy)
time="$(date +"%Y%m%d%H%M%S")"
start=`date +%Y-%m-%d_%H:%M:%S`
cd /usr/local/mysql/bin
mysqldump -h $db_ip -P 3306 -u$db_user -p$db_passwd $db_name > ${backup_dir}/${time}.sql
if [ $? -eq 0 ]
then
#记录结束时间
end=`date +%Y-%m-%d_%H:%M:%S`
echo -e "结束执行备份:$end\n" >> $backup_dir/autolog.log
#发送通知邮件
echo -e "数据库备份完成!\n开始时间:$start\n结束时间:$end" | /bin/mail -s "MySQL备份通知" [email protected]
fi
定时执行
每晚22点00分执行数据库备份脚本
0 22 */1 * *
Linux
* * * * * *
- - - - - -
| | | | | |
| | | | | + year [optional]
| | | | +----- day of week (0 - 7) (Sunday=0 or 7)
| | | +---------- month (1 - 12)
| | +--------------- day of month (1 - 31)
| +-------------------- hour (0 - 23)
+------------------------- min (0 - 59)
在线工具连接:https://tool.lu/crontab
运行效果
vim autolog.log
结束执行备份:2019-04-17_13:49:49
结束执行备份:2019-04-17_13:59:33