Mysql--Linux Mysql定期自动备份_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1769 | 回复: 0   主题: Mysql--Linux Mysql定期自动备份        下一篇 
solo9867
注册用户
等级:新兵
经验:61
发帖:71
精华:0
注册:2011-12-15
状态:离线
发送短消息息给solo9867 加好友    发送短消息息给solo9867 发消息
发表于: IP:您无权察看 2015-7-30 14:50:50 | [全部帖] [楼主帖] 楼主

本文是针对mysql数据库的全量备份,包括数据和结构。保存最新的5次备份。

一:编写脚步文件mysql_backup.sh

#!/bin/sh

# mysql_backup.sh: backup mysql databases and keep newest 5 days backup.

db_user="root"

db_passwd="imsuser"

db_host="localhost"

db_name="ims"

# the directory for story your backup file.

backup_dir="/backup/mysqldata"

# date format for backup file (dd-mm-yyyy)

time="$(date +"%d-%m-%Y")"

# mysql, mysqldump and some other bin's path

MYSQL="/usr/local/mysql/bin/mysql"

MYSQLDUMP="/usr/local/mysql/bin/mysqldump"

MKDIR="/bin/mkdir"

RM="/bin/rm"

MV="/bin/mv"

GZIP="/bin/gzip"

# check the directory for store backup is writeable

test ! -w $backup_dir && echo "Error: $backup_dir is un-writeable." && exit 0

# the directory for story the newest backup

test ! -d "$backup_dir/backup.0/" && $MKDIR "$backup_dir/backup.0/"

# get all databases

#all_db="$($MYSQL -u $db_user -h $db_host -p$db_passwd -Bse 'show databases')"

#for db in $all_db

#do

$MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db_name $GZIP -9 > "$backup_dir/backup.0/$time.$db_name.gz"

#done

# delete the oldest backup

test -d "$backup_dir/backup.5/" && $RM -rf "$backup_dir/backup.5"

# rotate backup directory

for int in 4 3 2 1 0

do

if(test -d "$backup_dir"/backup."$int")

then

next_int=`expr $int + 1`

$MV "$backup_dir"/backup."$int" "$backup_dir"/backup."$next_int"

fi

done

exit 0;

二:赋予脚步可执行权限

chmod +x mysql_backup.sh

三:添加定时执行计划

vi /etc/crontab

添加:00 5 * * * root /backup/mysql_backup.sh 每日5点钟备份一次数据库

四:补充

linux 开机自动启动

cd /usr/bin

ln -s -f /usr/local/jdk1.7.0_10/bin/java

ln -s -f /usr/local/jdk1.7.0_10/bin/javac

vi /etc/rc.local

/etc/init.d/mysqld start

export JAVA_HOME=/usr/local/jdk1.7.0_10

/usr/local/apache-tomcat-6.0.37/bin/startup.sh start

export JAVA_HOME=/usr/local/jdk1.7.0_10

nohup sh /home/startTransfer.sh &

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论