MySql数据库本地服务器备份策略
Jun 07, 2016 pm 05:54 PM说明:我这里要把MySql数据库存放目录/var/lib/mysql下面的所有文件备份到/home/mysql_data里面 并且保存为mysql_data20121220.tar.gz的压缩文件(20121220是指备份执行时当天的日期) 然后只保留最近7天的备份 1、创建保存备份文件的路径:/home/mysql_data
说明:我这里要把MySql存放目录/var/lib/mysql下面的所有文件备份到/home/mysql_data里面
并且保存为mysql_data20121220.tar.gz的压缩文件(20121220是指备份执行时当天的日期)
然后只保留最近7天的备份
1、创建保存备份文件的路径:/home/mysql_data
cd /home
mkdir mysql_data
2、创建备份脚本文件:/home/mysql_data/mysql_databak.sh
cd /home
cd mysql_data
touch mysql_databak.sh
vim mysql_databak.sh
输入以下内容:
##################################################################################
#!/bin/sh
/etc/init.d/mysqld stop #执行备份前先停止MySql,防止有数据正在写入,备份出错
date=` date +%Y%m%d ` #获取当前日期
DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份
BK_DR=/home/mysql_data #备份文件存放路径
DB_DR=/var/lib/mysql #数据库路径
LINUX_USER=root #系统用户名
tar zcvf $BK_DR/mysql_data$date.tar.gz $DB_DR #备份数据
/etc/init.d/mysqld start #备份完成后,启动MySql
chown -R $LINUX_USER:$LINUX_USER $BK_DR #更改备份数据库文件的所有者
find $BK_DR -name "mysql_data*" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件
##################################################################################
3、修改文件属性,使其可执行
chmod +x /home/mysql_data/mysql_databak.sh
4、修改/etc/crontab
vi /etc/crontab
在下面添加
35 13 * * * root /home/mysql_data/mysql_databak.sh
表示每天13点35钟执行备份
5、重新启动crond使设置生效
/etc/rc.d/init.d/crond restart
chkconfig crond on #设为开机启动
service crond start #启动
每天你在/home/mysql_data目录下面可以看到类似mysql_data20121220.tar.gz这样的压缩文件
如果需要恢复文件的时候,只需要把这个文件解压即可
解压缩tar -zxvf mysql_data20121220.tar.gz

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか?

PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか?

PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか?

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法

PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか?

PHP を使用して MySQL テーブルを作成するにはどうすればよいですか?

PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル
