Ubuntu mysql设置自动备份
创建脚本自动每天某个时间对mysql进行数据备份
1、创建备份文件以及备份脚本所在的目录
在我的目录下面设置 cd /home/dilligencer/
mkdir data_backup
2、修改mysql备份配置文件
这种相比于在将用户名和密码写在bash脚本里面,会更加安全一些。
sudo vim /etc/mysql/conf.d/mysqldump.cnf
mysqldump.cnf文件添加以下内容:
host=127.0.0.1
user=**** # mysql 用户名
password=*** # mysql
3、编写shell脚本, 放在data_backup方便管理
vim bkmysql.sh
bkmysql.sh文件内容:
rq=`date +%Y%m%d`
mysqldump databasename >/home/ubuntu/data_backup/databasename$rq.sql
注:
注:第一行是定义一个变量rq(日期),注意标点符号是`(英文状态下按Esc下面那个键)不是',然后取了系统的date中的年Y月m日d,date和+号之间有空格。
databasename设置为要备份的数据库的名字,>表示重定向,后面的参数表示文件存放的地址和文件名,其中$rq表示引用第一行的变量rq。
修改备份脚本文件权限:
chmod 777 mysqlbk.sh
这里将mysqlbk.sh的权限设置为任何用户可以读、写、执行,具体权限设置可以自行设定。
测试:
sh bkmysql.sh;看会不会出现相应的数据库备份文件
4、配置定时器
修改定时器配置文件crontab:
sudo vim /etc/crontab
crontab文件添加以下内容:
30 0 * * * root /home/ubuntu/data_backup/bkmysql.sh
注:"30 0 * * *"表示每天00:30执行,root为户,/home/ubuntu/data_backup/bkmysql.sh指向备份shell脚本文件。
crontab配置完成后,需要重新启动服务:
重新启动(sudo /etc/init.d/cron restart);