Ubuntu下设置mysql自动定时备份



本文介绍了Ubuntu下设置mysql自动定时备份的方法

实验平台:

OS: 为某厂商云平台下的Ubuntu云服务器

DB: mysql


步骤:

一.创建执行备份的程序

二.让其自动定时执行


方法:

步骤一:

1.创建一个文件夹,用来放你备份的文件。

地址可以你定,下面是我的方式

  1.   
 
#mkdir /home/ubuntu/data_backup 

注:下文这种颜色的表示在命令行中输入的~

2.创建备份程序

#nano /usr/sbin/bakmysql

注:表示使用nano编辑器(nano是一个比vi简单一些的文本剪辑器。),在/usr/sbin/目录下创建名为bakmysql的文件

进入编辑器后,输入:

rq=`date +%Y%m%d`

mysqldump --all-databases -u root -p密码 >/home/ubuntu/data_backup/mysql$rq.sql

怎么退出nano?编辑界面下面有提示,看不懂?^+O是啥意思?^就是Ctrl,表示按Ctrl+O,写入文件,然后按回车,让你确定路径和文件名,回车就是了。然后Ctrl+X,退出。其它用法自行参考nano用法。

注:第一行是定义一个变量rq(日期),注意标点符号是`(英文状态下按Esc下面那个键)不是'然后取了系统的date中的年Y月m日d,date和+号之间有空格

第二行,使用mysqldump命令(mysql自带)来备份数据库;参数 --all-databases是指备份所有数据库,如果只想备份某个数据库,替换为该数据库的名字即可(不用加-);-u后面输入空格和数据库的用户名root(确保有权限);-p后面不带空格,输入密码;>表示重定向,后面的参数表示文件存放的地址和文件名,其中$rq表示引用第一行的变量rq,这样备份出来的文件就是"mysql20141201.sql"这样子。

3.为备份程序添加权限:

直接使用暴力的:

#chmod 777 /usr/sbin/bakmysql

本来使用chmod +x 就可以的,表示+(添加)x(执行)的权限,这样会安全一些,但是如果你的可能使用其它用户来执行可能会出现permission denied的情况,所以直接暴力777了,你懂的。

4.测试这个备份程序

不用我告诉你这么执行这个文件了吧o(╯□╰)o,执行完看data_backup文件夹下有没有那个sql文件,就对了。


步骤二:

1.修改/etc/crontab

#nano -w /etc/crontab

注:-w表示不使用自动换行,这个在修改系统文件时必须加上,避免出现问题,在这里可以加可以不加,安全起见还是我是加了~

在下面添加

30 3 * * * root /usr/sbin/bakmysql

注:表示每天3点30分以root用户执行/usr/sbin/bakmysql

2.重启crontab

# /etc/init.d/crond restart

出错处理:如果执行2出现提示:

 cron: can’t lock /var/run/crond.pid, otherpid may be 2699: Resource temporarily unavailable

解决办法: rm -rf /var/run/crond.pid

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值