Linux 自动备份mysql数据
2017-10-25 21:25
615 查看
Linux 自动备份mysql数据
lz阿里云服务器环境如下- centos7.4
- mysql5.7
1. 创建shell脚本
知识点- mysqldump
mysqldump常用于MySQL数据库逻辑备份
编辑shell脚本:vi /bak/bakmysql/backup.sh
#!/bin/sh cd /bak/bakmysql echo "You are in bakmysql directory" #将之前文件转到bakmysqlold里 mv bakmysql* /bak/bakmysqlold echo "Old databases are moved to bakmysqlold folder" #获得当前日期 Now=$(date +"%d-%m-%Y") File=bakmysql-$Now.sql **#将数据库备份为bakmysql-%d-%m-%Y.sql** mysqldump -uroot -p'password' db_bbs > $File echo "Your database backup successfully completed" #将七天之前的数据库备份文件删除 SevenDays=$(date -d -7day +"%d-%m-%Y") #判断是否有七天之前的数据库备份文件 if [ -f /bak/bakmysqlold/bakmysql-$SevenDays.sql ] then #有则删除 rm -rf /bak/bakmysqlold/bakmysql-$SevenDays.sql echo "You have delete 7days ago bak file " else #无文件 echo "7days ago bak file not exist " fi
可加上邮件发送功能,lz用的是MUTT邮件发送
可惜遇到了以下的错误,有人遇到的可否告诉我一声如何解决
出现Connection timed out with xxxx.com.的错误
打开了防火墙的25端口也如此。
持续更新解决状态。。
2. 添加shell脚本执行权限
执行./backup.sh是遇到以下错误./backup.sh: Permission denied
这意味着没有该文件执行的权限
chmod u+x backup.sh 这意味着chmod u+x backup.sh 只授予这个文件的所属者执行的权限
3. 创建定时任务
知识点1. cron表达式
2. crontab用法
步骤
crontab -e 在最后加入这样一行(具体含义请自行参考/etc/crontab中的注释): 0 0 * * * /bak/bakmysql/backup.sh #0 0 * * * 意思为每天12点执行脚本(cron表达式知识点) 重启crontab:/sbin/service crond restart 如果没有设置crontab为开机自启动可以如下设置其开机自启动:chkconfig –level 35 crond on
可以执行backup.sh脚本,看看最终的效果
参考创建Linux下每天自动备份MySQL数据库的脚本
Linxu MUTT邮件发送配置
Linux crontab 命令详细用法及示例
相关文章推荐
- linux下自动备份MySQL数据并上传到FTP上的shell脚本
- linux上mysql数据备份并自动通过附件发送到指定邮箱
- 程序猿(媛)Shell脚本必备技能之一: 在Linux下如何自动备份mysql数据
- 在linux下实现mysql自动备份数据
- linux mysql自动备份 和 数据恢复
- 使用Linux的crontab调用shell中的scp自动备份mysql数据
- Linux(Centos)全自动异地备份数据(WEB+Mysql)
- 讲解Linux系统下如何自动备份MySQL数据的基本教程
- Linux(Centos)全自动异地备份数据(WEB+Mysql)
- 讲解Linux系统下如何自动备份MySQL数据的基本教程
- Linux平台和Windows平台下两种自动备份MySQL数据的脚本(Shell&Bat)和步骤
- linux下mysql自动备份数据脚本
- Linux下使用crontab调用shell中的scp自动备份mysql数据
- 使用Linux的crontab调用shell中的scp自动备份mysql数据
- linux下mysql自动备份
- Linux上自动备份MySQL
- 使用Linux下rsync实现TurboMail数据增量自动备份
- LINUX下MYSQL自动备份
- Linux下的MySQL自动备份脚本