首页 国际新闻 正文

Linux定期备份mysql并与其他服务器同步-必威体育 betway下载_必威体育APP下载|唯一官网

点上边java微技能获取更多技能教程

数据在任何一家公司里边都是最中心的财物,守时备份则是为了确保数据库呈现问题的时分能够及时回滚到最近的备份点,将丢失缩小到最小

这篇文章将会两部分来阐明:1、mysql的守时备份;2、同步到其它服务器

mysql 备份

备份复原某个数据库

备份复原

# 导出数据库
/usr/bin/mysqldump -u root -ppwd database > database20160929.sql
# 导入数据库
mysql -u root -p database < data梦到牙齿掉了base20160929.sql

备份到紧缩文件从紧缩文件导入

#备份到紧缩文件
/usr/bin/mysqldump -u root -ppwd database | gzip > database20160929.sql.gz
#从紧缩文件导入
gzip < database20160929.sql.gz | mysql -u root -p database

crontab守时备份

1、创立备份目无秘录

# root 用户,创立备份目录
mkdir -p /bak/mysqlbak
cd /bak/mysqldata

2、编写运转脚本

vi /usr/sbin/bakmysql.sh

脚本代码:

#!/bin/bash
# Name:bakmysql.sh
# This is a ShellScript For Auto DB Backup and Delete old Backup
#
backupdir=/bak/mysqlbak
time=` date +%Y%m%d%H `
mysql_bin_dir/mysqldump -u root -ppwd database 东江日香理| gzip > $backupdir/database$time.sql.gz
#
find $backupdir -name "name_*.sql.gz" -type f -mtime +7 -exec rm {} ; > /dev/null 2>&1
#

脚本阐明:

  • backupdir mysql备份地址

  • root mysql用户名

  • pwd mysql暗码

  • database 数据库名Linux守时备份mysql并与其他服务器同步-必威体育 betway下载_必威体育APP下载|仅有官网

  • mysql_bin_dir mysql的bin途径;似的多音字组词

  • time=` 黄晓明植发前后相片date +%Y%m%d%H `也能够写为time="$(date +"%Y%m%d$H")"其间`符号是TAB键上面的符号,不是ENTER左面的'符号,还有date后要有一个空格。

  • type f 表明查找一般类型的文件,f表明一般文件。

  • mtime +7 依照文件的更改时刻来查找文件,+5表明文件更改时刻距现在7天曾经;假如是 -mmin +5 表明文件更改时刻距现在5分钟曾经。

  • exec rm {} 表明履行一段shell指令,exec选项后边跟随着所要履行的指令或脚本,然后是一对儿{},一个空格和一个,最终是一个分号。

  • /dev/null 2>黑色星期天;&1 把规范犯错重定向到规范输出,然后扔到/DEV/NULL下面去。浅显的说,便是把一切规范输出和规范犯错都扔到垃圾桶里边;其间的& 表明让该指令在后台履行。

3、为脚本增加履行权限

# chmod +x /usr/sbin/bakmysql.sh

4、设置crontab守时履行

vi /etc/crontab 
#在最终一行中参加:
00 3 * * * root /usr/sbin/bakmysql.sh
#表明每天3点00分履行备份

注:crontab装备文件格局如下:

分 时 日 月 周 指令

5、重启crontab

/etc/rc.d/init.d/crond restart 

这样就完了守时备份并整理前7天的备份数据

同步到其它服务器周立波老婆胡洁

这儿运用Linux同步文件东西rsync+inotify来进行文件的同步

rsync

rsync是类unix体系下的数据镜像备份东西——remote sync。一款快速增Linux守时备份mysql并与其他服务器同步-必威体育 betway下载_必威体育APP下载|仅有官网量备份东西 Remote Sync,长途同步 支撑本地仿制,或许与其他SSH、rsync主机同步

用法

rsync sr绍c dest

这是最简略的用法,表明同步src,dest文件。(即,履行之后,dest的文件与src的相同,以src的为准)

常用选项

  • -a: 等价于-rlptgoD,归档式

  • -r: 递归

  • -l: 仿制软件链接

  • -p: 保存权限信息

  • -t: 将src的修正时刻,同步到dest

  • -g: 同步组信息(group)

  • -o: 同步具有者信息(own)

  • -D: 坚持字符与块设备文件

  • -z: 启用紧缩传输

  • -–delete:假如src没有此文件,那么dest也不能有,即在dest删去src里没有的文件。(假如你运用这个选项,就必须调配-r选项一同)

## 将本地/bak/mysqlbak/文件同步到 长途服务器 /bak/mysql/bak 目录下面 扫除 mysqlbak/index目录 经过ssh端口
rsync -vzacu /bak/mysqlbak/ root@192.168.53.86:/bak/mysqlbak --exclude "mysqlbak/index" -e "ssh -p 22"
# 将长途目录 /bak/mysqlbak下的文件同步到本地 /bak/mysqlbak/目录下
rsync -vzrtopg --progress --delete root@192.168.53.85:/bak/mysqlbak /bak

启用rsync服务器端同步长途文件

rsycn的服务端为服务器的文件接纳端,rsycn的客户端为服务器的文件推进端。

rsycn的服务端/文件接纳端装备

服务端需求敞开rsyncd服务

增加装备文件rsyncd.conf

vi /etc/rsyncd.conf
#以下是大局装备
log file = /var/log/rsynLinux守时备份mysql并与其他服务器同步-必威体育 betway下载_必威体育APP下载|仅有官网cd.log
pid file = /var/run/rsyncd.pid
lock file = /var/lock/rsyncd
[mysqlbak] #模块名,在源服务器指定这个姓名
comment = sync rsyncLinux守时备份mysql并与其他服务器同步-必威体育 betway下载_必威体育APP下载|仅有官网/home #描绘信息
path = /bak/mysqlbak #备份目录
use chroot=no #不运用chroot,不必root权限
read only = no #设置本地备份目录为读写权限
uid=root
gid=root
max connections=10 #客户端最大衔接数
auth users = root #指定数据同步用户
secrets file = /etc/rsyncd.pass #指定数据同步用户信息文件
hosts allow鱿鱼圈的做法=192.168.53.0/85 #答应衔接的客户端
ignore errors = yes #疏忽呈现正人不器I/O过错
timeout = 600

创立认证文件

 vi /etc/rsyncd.pass
##代码
root黄钻官网:root #格局是用户名:暗码
#属主要有权限读这个文件,不然会报没权限
chmod 600 /etc/rsyncd.pass

修正/etc/xinetd.d/rsync文件,disable 改为 no

service rsync
{
disabchua米le = no
socket_type = stream
wait = no
user三国之霸王门徒 = root
server = /usr/bin/rsync
server_a三位一体rgs = --daemon
log_on_failure += USERID
}

发动服务端

rsync --daemon --config=/etc/rsyncd.conf

rsycn的客户端/文件发送端装备

客户端装备简略 只需求装备暗码既可

 vi /etc/rsync_client.pwd
##代码
root #只需求填写rstrawberrysync服务的暗码
#属主要有权限读这个文件,不然会报没权限
chmod 600 /etLinux守时备份mysql并与其他服务器同步-必威体育 betway下载_必威体育APP下载|仅有官网c/rsync_client.pwd

客户端同步测验

/usr/bin/rsync -auvrtzopgP --progress --password-file=/etc/rsync_client.pwd /bak/mysqlbak/ root喜炎平@192.168.53.86::mysqlbak

rsync仅仅一次性同步,假如需求实时同步就需求引进另一个东西了

inotify

Inotify 是一种强壮的、细粒度的、异步的文件体系事情监控机制,linux内核从2.6.13起,参加了Inotify支撑,经过Inotify能够监控文件体系中增加、删去,修正、移动等各种纤细事情,使用这个内核接口,第三方软件就能够监控文件体系下文件的各种改变状况,而inotify-tools便是这样的一个第三方软件。

Inotify只需求要依照布置在同步的客户端,当监控的文件有改变牵动 rsync脚原本同步

装置

yum install inotify-tools

装备监控的文件途径

vi /etc/inotify_exclude.lst
#代码
/bak/mysLinux守时备份mysql并与其他服务器同步-必威体育 betway下载_必威体育APP下载|仅有官网qlbak #监控目录
@/bak/log #扫除监控目录

rsync扫除监控文件目录

vi /etc/rsyncd.d/rsync_exclude.lst
#代码
src/*.html*
src/js/
src/2014/20140[1-9]/

客户端同步到长途的脚本rsync.sh

#rsync auto sync script with inotify
#variables
current_date=$(date +%Y%m%d_%H%M%S)
source_path=/bak/mysqlbak/
log_file=/var/log/rsync_client.log
#rsync
rsync_server=192.168.53.86
rsync_user=root
rsync_pwd=/etc/rsync_client.pwd
rsync_module=mysqlbak
INOTIFY_EXCLUDE='(.*/*.log|.*/*.swp)$|^/tmp/src/mail/(2014|20.*/.*che.*)'
RSYNC_EXCLUDE='/bak/rsync_exclude.lst'
#rsync client pwd check
if [ ! -e ${rsync_pwd} ];then
echo -e "rsync client passwod file ${rsync_pwd} does not exist!"
exit 0
fi
#inotify_function
inotify_fun(){
/usr/bin/inotif干贝的家常做法ywait -mrq --timefmt '%Y/%m/%d-%H:%M:%S' --format '%T %w %f'
--exclude ${INOTIFY_EXCLUDE} -e modify,delete,create,move,attrib ${sourceLinux守时备份mysql并与其他服务器同步-必威体育 betway下载_必威体育APP下载|仅有官网_path}
| while read file
do
/usr/bin/rsync -auvrtzopgP --exclude-from=${RSYNC_EXCLUDE} --progress --bwlimit=200 --password-file=${rsync_pwd} ${source女受刑_path} ${rsync_user}@${rsync_server}::${rsync_module}
done
}
#inotify log
inotify_fun >> ${log_file} 2>&1 &

给脚本履行权限,履行后就能够了

chmod 777 rsync.sh
./怜惜rsync.sh



不积跬步无以致千里

java微技能,每天陪同爱学的你,勤勉的你,共同进步!

博客地址:https://blog.rs1314.cn/



长按辨认二维码

等风也等你

今日就给我们介绍这么多,假如你喜欢我的文章,记得把我置顶和共享更多的朋友知道,全免费技能教程大众号,没有任何套路!