Heim > Datenbank > MySQL-Tutorial > Hauptteil

Ubuntu下开展MYSQL自动备份

WBOY
Freigeben: 2016-06-07 16:26:39
Original
1112 Leute haben es durchsucht

Ubuntu下进行MYSQL自动备份 说明: ? ? 实现步骤: ? 1、创建保存备份文件的目录:/var/mysqlbak/data ? ? 2、创建备份脚本文件:/var/mysqlbak/mysql_databak.sh ? cd /var/mysqlbak #进入目录 ? touch mysql_databak.sh #创建文件 ? vim mysql_databak.sh #编

Ubuntu下进行MYSQL自动备份

说明:

?

?

实现步骤:

?

1、创建保存备份文件的目录:/var/mysqlbak/data

?

?

2、创建备份脚本文件:/var/mysqlbak/mysql_databak.sh

?

cd /var/mysqlbak #进入目录

?

touch mysql_databak.sh #创建文件

?

vim mysql_databak.sh #编辑文件,输入以下内容

?

#######################################################################################################

?

#!/bin/sh

?

DUMP=/usr/bin/mysqldump #mysqldump备份程序执行路径

?

OUT_DIR=/home/mysql_data #备份文件存放路径

?

LINUX_USER=root #系统用户名

?

DB_NAME=zhongchan #要备份的数据库名字

?

DB_USER=root #数据库账号 注意:非root用户要用备份参数 --skip-lock-tables,否则可能会报错

?

DB_PASS=root #数据库密码

?

DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份

?

cd $OUT_DIR #进入备份存放目录

?

DATE=`date +%Y_%m_%d` #获取当前系统时间

?

OUT_SQL="$DATE.sql" #备份数据库的文件名

?

TAR_SQL="mysqldata_bak_$DATE.tar.gz" #最终保存的数据库备份文件名

?

$DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=utf8 --opt -Q -R --skip-lock-tables> $OUT_SQL #备份

?

tar -czf $TAR_SQL ./$OUT_SQL #压缩为.tar.gz格式

?

rm $OUT_SQL #删除.sql格式的备份文件

?

chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL #更改备份数据库文件的所有者

?

find $OUT_DIR -name "mysqldata_bak*" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件(注意:{} \;中间有空格)

?

#######################################################################################################

?

?

?

3、修改文件属性,使其可执行

?

chmod +x /var/mysqlbak/mysql_databak.sh

?

4、修改/etc/crontab

?

vim /etc/crontab #编辑文件,在下面添加

?

45 22 * * * root /var/mysqlbak/mysql_databak.sh #表示每天22点45分执行备份

?

?

5、重新启动crond使设置生效

?

service cron stop #停止

?

service cron start #启动

?

chkconfig cron on #设为开机启动

?

每天你在/var/mysqlbak/data目录下面可以看到类似mysqldata_bak_2012_04_11.tar.gz这样的压缩文件

?

如果需要恢复文件的时候,只需要把这个文件解压:tar -zxvf mysqldata_bak_2012_04_11.tar.gz

?

然后导入到数据库中即可。

?

至此,Ubuntu Server下MySql数据库备份脚本完成。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage