码迷,mamicode.com
首页 > 数据库 > 详细

MySql定时备份脚本

时间:2016-01-18 22:50:26      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:

今天数据库有挂了,真心伤不起!又花了一下午时间学习写了一个定时保存数据的脚本文件,所以记录一下!

1,每天4点备份mysql数据;

2,为节省空间,删除超过3个月的所有备份数据;

3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据;

[root@iZ28c26l6pkZ ~]# cd data

[root@iZ28c26l6pkZ ~]# cd /data/dbdata

[root@iZ28c26l6pkZ dbdata]# vim backup_mysq.sh

#输入脚本文件

#

/alidata/server/mysql/bin/mysqldump --all-databases > /data/dbdata/mysqlbak/`date +%Y%m%d`.sql
find /data/dbdata/mysqlbak/ -mtime +7 -name ‘*[1-9].sql‘ -exec rm -rf {} \;
find /data/dbdata/mysqlbak/ -mtime +92 -name ‘*.sql‘ -exec rm -rf {} \;

#这里原来是这样的!

######这个mysql.5.6会报一个错误

mysqldump -uroot -p123456 --all-databases  > /data/dbdata/mysqlbak/`date +%Y%m%d`.sql
find /data/dbdata/mysqlbak/ -mtime +7 -name ‘*[1-9].sql‘ -exec rm -rf {} \;
find /data/dbdata/mysqlbak/ -mtime +92 -name ‘*.sql‘ -exec rm -rf {} \;

#######

测试一下

[root@iZ28c26l6pkZ dbdata]# ./backup_mysql.sh

-bash: ./backup_mysql.sh: Permission denied

###############原因是#####################

在官网文档找到了缘由,大家可以点击这里看看:http://dev.mysql.com/doc/refman/5.1/en/password-security-user.html

MySQL users should use the following guidelines to keep passwords secure.

    When you run a client program to connect to the MySQL server, it is inadvisable to specify your password in a way that exposes it to discovery by other users. The methods you can use to specify your password when you run client programs are listed here, along with an assessment of the risks of each method. In short, the safest methods are to have the client program prompt for the password or to specify the password in a properly protected option file.

英文有点烂,但大概读懂意思,翻译过来大意是在命令行下如果要使用密码可以在执行命令后的提示输入里输入密码,或者在指定的安全文件内指定密码。那安全文件时哪个呢?文档对此给出了答案:

Store your password in an option file. For example, on Unix, you can list your password in the [client] section of the .my.cnf file in your home directory:

可以在my.cnf内指定,于是打开我的my.cnf,在[mysqldump]下增加:

user=root
password=root

然保存 运行我那个就可以了 

然后再写一个定时

[root@iZ28c26l6pkZ ~]# crontab -e

###

0 4 * * * /data/dbdata/backup_mysql.sh

####

crontab: installing new crontab

然后就ok了

 

MySql定时备份脚本

标签:

原文地址:http://www.cnblogs.com/Minxiaotian/p/5140667.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!