linux下实现mysql定时备份

1.创建备份目录

mkdir /data/dbback/mysql

2.创建备份shell脚本

vim /data/dbback/bkDatabaseName.sh

输入或粘贴以下类容

db_user="root"
db_passwd="root"
db_name="db_test"
# the directory for story your backup file.you shall change this dir
backup_dir="/data/dbback/mysql"
# date format for backup file (dd-mm-yyyy)
time="$(date +"%Y%m%d%H%M%S")"     

mysqldump -u$db_user  -p$db_passwd $db_name  > "$backup_dir/$db_name"_"$time.sql"

3.添加可执行权限

chmod +x bkDatabaseName.sh,执行脚本 ./bkDatabaseName.sh,报错Warning: Using a password on the command line interface can be insecure.参考官网http://dev.mysql.com/doc/refman/5.1/en/password-security-user.html做修改。

直接把上面的脚本中的用户名和密码去掉,修改为“mysqldump $db_name  > "$backup_dir/$db_name"_"$time.sql",但是要在配置文件中加上用户名和密码。可以在my.cnf内指定。

打开etc/my.cnf,在[client]下增加:
user=root
password=root
但是这样就所有块的操作都能共享了,生产环境上为了安全还是尽量分开(所以也可以在[mysqldump]下增加)。

4.创建定时任务

service crond start    //启动服务
service crond stop     //关闭服务
service crond restart  //重启服务
service crond reload   //重新载入配置
service crond status   //查看服务状态 

检测或安装 crontab,通过命令判断crontab有没有,没有的话先安装。

a。安装

yum -y install vixie-cron
yum -y install crontabs

说明:
vixie-cron 软件包是 cron 的主程序;
crontabs 软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

b。添加计划任务

执行命令:
crontab -e
这时就像使用vi编辑器一样,可以对计划任务进行编辑。
输入以下内容并保存:

00 01 * * * /data/dbback/bkDatabaseName.sh(每天凌晨一点备份数据库)

附 Crontab 格式

分 时 日 月 周 执行命令
第 1 列分钟 1~59,每分钟用 * 或者*/1表示,整点分钟数为00或0
第 2 列小时 1~23(0 表示 0 点)
第 3 列日 1~31
第 4 列月 1~12
第 5 列星期 0~6(0 表示星期天)
第 6 列要运行的命令

 

你可能感兴趣的:(linux下实现mysql定时备份)