完成定时备份功能主要分为两步,第一步创建备份脚本,第二步设置定时运行。
创建一个文件夹,用来存放备份文件。路径可以随意,下面是我举的例子 /home/database_backup/
之后,创建备份脚本。在终端输入:
#vim /usr/sbin/bakmysql
在/usr/sbin/目录下创建名为 bakmysql 的文件,进入编辑器后,输入:
rq=`date +%Y%m%d`
mysqldump --all-databases -u root -p密码 >/home/ubuntu/data_backup/mysql$rq.sql
注:第一行是定义一个变量 rq(日期),注意标点符号是 `(英文状态下按 Esc 下面那个键)不是',然后取了系统的 date 中的年 Y 月 m 日 d,date 和 + 号之间有空格。
第二行,使用 mysqldump 命令(mysql 自带)来备份数据库;参数 --all-databases 是指备份所有数据库,如果只想备份某个数据库,替换为该数据库的名字即可(不用加-);-u 后面输入空格和数据库的用户名 root(确保有权限);-p 后面不带空格,输入密码;> 表示重定向,后面的参数表示文件存放的地址和文件名,其中 $rq 表示引用第一行的变量 rq,这样备份出来的文件就是"mysql20141201.sql"这样子。
再为备份程序添加权限,直接使用暴力的:
#chmod 777 /usr/sbin/bakmysql
测试这个备份程序
#/usr/sbin/bakmysql
以上为第一步,接下来设置定时运行脚本。
修改/etc/crontab,在终端输入:
#vim -w /etc/crontab
注:-w 表示不使用自动换行,这个在修改系统文件时必须加上,避免出现问题。
在下面添加:
30 3 * * * root /usr/sbin/bakmysql
注:表示每天 3 点 30 分以 root 用户执行/usr/sbin/bakmysql
以上就是设置定时备份 MySQL 的方法,还是那句话,数据无价,多多备份。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于