利用了mysql自带的工具,效率高,也不怕文件过大。
先说备份
mysqldump -u数据库用户名 -p密码 dbname > 备份路径/导出名.sql
就是把dbname数据库,导出到 备份路径/导出名.sql
恢复
mysql -u数据库用户名 -p密码 dbname < 备份路径/数据库名.sql
mysql命令说完了,下面该shell了,用shell来实现mysql的自动备份。
建立shell
mysqlback.sh 内容如下:
#!/bin/bash
X=`date +%Y%m%d` ;获取当天时间,命名用
M=/usr/local/mysql/bin ;mysql程序的路径
B= /usr/back/mysql ;mysql备份的路径
$M/mysqldump -uroot -proot test > $B/$X.sql
tar -zcvf $B/$X.tar.gz $B/$X.sql
rm -rf $B/$X.sql
tar 打包压缩后,rm 删除原sql文件
然后添加到计划任务,每天3点05分自动执行:
#echo "05 3 * * * root /usr/back/shell/mysqlback.sh &>/dev/null" >>/etc/crontab
0 Comments.