当前位置: 首页 >> 推荐新闻 >> 义,电瓶车,临沂在线-校园日记-校园日记网-在线编写秘密日记-全球校园动态 >> 正文

义,电瓶车,临沂在线-校园日记-校园日记网-在线编写秘密日记-全球校园动态

2019年06月24日 11:27:29     作者:admin     分类:推荐新闻     阅读次数:162    

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

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

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

mysql 备份

备份复原某个数据库

备份复原

# 导出数据库
/usr/bin/mysqldump -u root -ppwd database > database20160929.sql
# 导入数据库
mysql -u root -p database < database20160929.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
#

脚本阐明:

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。一款快速增量备份东西 Remote Sync,长途同步 支撑本地仿制,或许与其他SSH、rsync主机同步

用法

rsync src dest

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

常用选项

## 将本地/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/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/lock/rsyncd
[mysqlbak] #模块名,在源服务器指定这个姓名
comment = sync rsync/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
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}

发动服务端

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

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

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

 vi /etc/rsync_client.pwd
##代码
root #只需求填写rsync服务的暗码
#属主要有权限读这个文件,不然会报没权限
chmod 600 /etc/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/mysqlbak #监控目录
@/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/inotifywait -mrq --timefmt '%Y/%m/%d-%H:%M:%S' --format '%T %w %f'
--exclude ${INOTIFY_EXCLUDE} -e modify,delete,create,move,attrib ${source_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/



长按辨认二维码

等风也等你

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

除非特别注明,本文『义,电瓶车,临沂在线-校园日记-校园日记网-在线编写秘密日记-全球校园动态』来源于互联网、微信平台、QQ空间以及其它朋友推荐等,非本站作者原创。 本站作者admin不对本文拥有版权,如有侵犯,请投诉。我们会在72小时内删除。 但烦请转载时请标明出处:“本文转载于『校园日记-校园日记网-在线编写秘密日记-全球校园动态』,原文地址:http://www.campus-notes.com/articles/3025.html