服务器群秒级别文件同步(ssh+SHELL)
1.介绍
\
2.业务服务器远程更新浏览服务器文件的脚本
#!/bin/bash operate=$
ip=$
conf_file="/var/www/html/test/ip_list"
file_chsum="/var/www/html/test/cksvalue"
file_ser="10.60.10.62" cksum(){
ssh ${file_ser} "cksum ${conf_file}|awk '{print\$1}' > ${file_chsum}"
if [ $? -ne ];then
#生成cksum值失败
echo ""
fi
} if [[ ! $ip =~ ^[-]{,}\.[-]{,}\.[-]{,}\.[-]{,}$ ]];then
#IP不合法
echo "";
exit ;
fi if [[ "${operate}" == "add" ]];then
ips=`ssh ${file_ser} "cat $conf_file|grep ${ip}/32|wc -l"`
if [ ${ips} -eq ];then
ssh ${file_ser} "echo "${ip}/" >> $conf_file"
if [ $? -eq ];then
cksum
#添加IP成功
echo ""
exit ;
else
#添加IP失败
echo ""
exit ;
fi
else
#添加IP成功(IP已存在)
echo "";
exit ;
fi
elif [[ "${operate}" == "del" ]];then
ssh ${file_ser} "sed -i '/${ip}\/32/d' $conf_file"
if [ $? -eq ];then
cksum
#删除IP成功
echo ""
exit ;
else
#删除IP失败
echo ""
exit ;
fi
else
#参数1($)不合法
echo ""
exit ;
fi
3.浏览服务器采用http的方式提供配置文件和cksum值的浏览和下载
4.VPS主机群每隔30校验一次配置文件的cksum值来保持配置文件的最新状态
* * * * * sleep && sh /tmp/sync_customIP.sh
* * * * * sleep && sh /tmp/sync_customIP.sh
#!/bin/bash conf_file_url="http://10.60.10.62:8060/test/ip_list"
cksum_url="http://10.60.10.62:8060/test/cksvalue"
local_conf_file="/tmp/ip_list"
time=`date`
log="/tmp/sync_customIP.log" get_cksum() {
remote_cksum=`curl -s "${cksum_url}"`
local_cksum=`cksum ${local_conf_file}|awk '{print\$1}'`
} sync_file() {
cat ${local_conf_file} > /tmp/.tmp_ip.txt
wget -q ${conf_file_url} -O ${local_conf_file};
} get_cksum if [[ "$remote_cksum" != "$local_cksum" ]];then
sync_file
get_cksum
if [[ "$remote_cksum" != "$local_cksum" ]];then
cat /tmp/.tmp_ip.txt > ${local_conf_file}
echo "${time} sync fail.." >> $log
else
echo "${time} sync success.." >> $log
fi
else
echo "${time} there are no need to sync.. ">> $log
fi log_count=`cat $log |wc -l`
if [ $log_count -gt ];then
sed -i '1,1000d' $log
fi
服务器群秒级别文件同步(ssh+SHELL)的更多相关文章
- 负载均衡配置下的不同服务器【Linux】文件同步问题
负载均衡配置下的不同服务器[Linux]文件同步问题2017年04月13日 22:04:28 守望dfdfdf 阅读数:2468 标签: linux负载均衡服务器 更多个人分类: 工作 问题编辑版权声 ...
- linux多服务器之间的目录文件同步
一.rsync是什么 在开始正式学习rsync之前,我们先来回答这个问题:rsync是什么. rsync(remote synchronize)是Liunx/Unix下的一个远程数据同步工具.它可通过 ...
- 文件同步服务器,iis 集群 ,代码同步(一)
文件同步服务器 BitTorrent Sync 有点像TeamViewer远程协助 软件,私钥连接. 使用版本就30 天,最近测试了,功能不够理想.有点遗憾,我觉得我可以写一个! 确实很好用.
- rsync+sersync+inotify实现服务器间文件同步之一
rsync+sersync+inotify实现服务器间文件同步之一:rsync安装配置 2013年12月14日 ⁄ Linux管理, 服务器集群技术 ⁄ 共 4925字 ⁄ rsync+sersync ...
- 使用inotify+rsync实现服务器间文件同步
1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.它使用所谓的“Rsync演算法”来使本地和远程两个主机之间的文件达到 ...
- BAT实现服务器文件同步
服务器文件同步有很多工具,例如 GoodSync.rsync.BitTorrent Sync等……其实WINDOWS下自带了一个文件同步利器:ROBOCOPY.它是一个命令行的目录复制命令,自从Win ...
- BitTorrent Sync - 神奇的文件同步软件,无需服务器让多台电脑互相同步!
176,487 微博 腾讯 空间 微信 141 49 如今人们对文件备份和同步的需求已经越来越强烈了.像 Dropbox 一样的云存储网盘有很多,但它们都有一个局限性,就是所有的文件都得经过它们的服务 ...
- linux服务器之间的文件同步;rsync+inotifywait;同步多个目录
1.双向同步:unison+inotify 2.单向同步:rsync+inotify python版的pyinotify 本文介绍第二种方法: 1.Inotify 是一个 Linux特性,它监控文件系 ...
- Rsync+inotify实现文件实时同步#附shell脚本
强烈推荐先仔细看此文 https://segmentfault.com/a/1190000002427568 实验环境 centos 7.3 vm2:192.168.221.128 同步服务器 vm1 ...
随机推荐
- android project 文件夹
android多国语言文件夹 http://www.blogjava.net/zhaojianhua/archive/2012/02/09/369676.html Android平板开发精确适配不同的 ...
- 实现一个div,左边固定div宽度200px,右边div自适应
实现一个div,左边固定div宽度200px,右边div自适应<div class= "container"> <div class="left&quo ...
- Sql server连接数据库报错相关
情况一:此版本的 SQL Server 不支持用户实例登录标志. 解决方法: 方法1:在连接属性的设置里边,点高级,将User Instance 设置为false,默认的true(我在中没有找到相应的 ...
- 怎样自己定义注解Annotation,并利用反射进行解析
Java注解可以提供代码的相关信息,同一时候对于所注解的代码结构又没有直接影响.在这篇教程中,我们将学习Java注解,怎样编写自己定义注解.注解的使用,以及怎样使用反射解析注解. 注解是Java 1. ...
- html5页面平滑切换实现以及问题(20160120更新)
注:本文是基于手机端 Hybrid APP 讨论,而不是普通的PC端网页 >> 之前的页面跳转方式: 比如有这两个页面:A.html B.html, A B 是纯HTML实现,没有采用 ...
- 开启apache的server-status辅助分析工具
在Apache的调优过程中,可以通过查看Apache提供的server-status(状态报告)来验证当前所设置数值是否合理,在httpd.conf文件中做如下设置来打开: #加载mod_status ...
- Go面向对象(三)
go语言中的大多数类型都是值予以,并且都可以包含对应的操作方法,在需要的时候你可以给任意类型增加新方法.二在实现某个接口时,无需从该接口集成,只需要实现该接口要求的所有方法即可.任何类型都可以被any ...
- 错误 error C2678: 二进制“<”: 没有找到接受“const card”类型的左操作数的运算符(或没有可接受的转换)
错误出现的地方如下 而我又重载了<运算符,但是我没有将<运算符重载函数定义成const类型,此处是const _Ty&,不可以调用非const成员函数 而且,一般而言,像<, ...
- PostgreSQL分布式架构之——PL/Proxy
1. PL/Proxy的介绍 1.1 PL/Proxy概述 PL/Proxy是一款能在PostgreSQL数据库实现数据库水平拆分的软件:可以理解分布式架构(shared nothing);但是不是真 ...
- PHP代码审计笔记--任意文件上传
0x01 最简单的文件上传 未进行文件类型和格式做合法性校验,任意文件上传 漏洞代码示例: 新建一个提供上传文件的 upload.html <html> <body> < ...