Rsync服务搭建小结
来源:互联网 发布:淘宝哪家茶叶店好 编辑:程序博客网 时间:2024/05/22 01:35
最近由于业务上的考虑,把内容的点击数、播放数等变化频换(每日1000W-2000w次)但是对于业务没有太大实时意义的计数,由实时操作DB变更为只记录操作日志,每晚汇总各机器的操作日志,计算各内容点击与播放的总数一次性更新DB,将DB的操作降低到百万级别以内了。
这个过程中使用rsync来进行操作日志的同步,为避免遗忘特记录下配置rsync服务以及进行日志文件传输的过程。
机器以及配置过程如下:
192.168.1.100作为rsync服务器,提供rsync服务;
192.168.1.101 、192.168.1.102 、192.168.1.103、192.168.1.104作为应用服务器;
(1)配置rsync服务端(192.168.1.100)
当前的绝大多数Linux操作系统都安装有rsnyc服务,如果不升级版本的话,可以直接使用,要是需要升级的话,可以参考网上教程。
检查是否存在/etc/rsyncd.conf 文件,不存在则创建,文件的内容如下。
这个过程中使用rsync来进行操作日志的同步,为避免遗忘特记录下配置rsync服务以及进行日志文件传输的过程。
机器以及配置过程如下:
192.168.1.100作为rsync服务器,提供rsync服务;
192.168.1.101 、192.168.1.102 、192.168.1.103、192.168.1.104作为应用服务器;
(1)配置rsync服务端(192.168.1.100)
当前的绝大多数Linux操作系统都安装有rsnyc服务,如果不升级版本的话,可以直接使用,要是需要升级的话,可以参考网上教程。
检查是否存在/etc/rsyncd.conf 文件,不存在则创建,文件的内容如下。
pid file = /var/run/rsyncd.pidport = 873#只监控内网的IP地址,更加安全address = 192.168.1.100uid =rootgid = rootuse chroot = yes#客户端只能写入不能读取read only = nowrite only = yes#只允许指定IP地址的机器能够访问hosts allow = 192.168.1.101 192.168.1.102 192.168.1.103 192.168.1.104max connections = 4motd file = /etc/rsyncd/rsyncd.motdtimeout = 300transfer logging = yeslog file = /var/log/rsync.log#客户端上传文件时候的存储模块[ logs ] #客户端上传文件的存储地址 path = /var/log/access_log list = yes ignore errors auth users = zhangzk #密码文件 secrets file = /etc/rsyncd/rsyncd.secrets exclude = error_log httpd.pid
创建密码文件 /etc/rsyncd/rsyncd.secrets,用户名称与密码以冒号分割,整个文件内容如下:
zhangzk:239fjdalk@893246dasaATDFBSad
设置该文件的600权限
chmod 600 /etc/rsyncd/rsyncd.secrets以守护进程方式启动该服务:
/usr/local/bin/rsync --daemon
检查服务是否运行正常:
-bash-3.2# ps -aef |grep rsyncroot 8510 8481 0 18:30 pts/0 00:00:00 grep rsyncroot 31787 1 0 Aug14 ? 00:00:00 rsync --daemon至此服务端全部搞定了。
(2)客户端(以192.168.1.101为例)
客户端相对要简单得多了,只需要设定密码文件即可。
创建密码文件/etc/rsyncd/ rsyncd.pass,该密码文件的内容与服务端的密码文件中的密码必须一致。
239fjdalk@893246dasaATDFBSad
设置该文件的600权限
chmod 600 /etc/rsyncd/rsyncd.passOK!现在可以使用rsync服务从客户端192.168.1.101上无密码的方式传输文件到192.168.1.100上去了!
rsync -vzrtopg --delete --progress $tarFile zhangzk@192.168.1.100::logs --password-file=/etc/rsyncd/rsyncd.pass
(3)建立crontab任务来定时传输日志文件
检查并且创建脚本文件/var/scripts/rsync_operate_log.sh
#!/bin/shfileName=my_play_download.log.`date -d yesterday +%Y-%m-%d`filePath=/var/log/app/logFile=$filePath$fileNameipAddress=101tarName=$fileName.$ipAddress.tar.gztarFile=$filePath$tarNamecd $filePathif [ -e "$logFile" ]; then tar -zcvf $tarName $fileName;else echo "log file not existed.file=$logFile"fiif [ -e "$tarFile" ]; then rsync -vzrtopg --delete --progress $tarFile zhangzk@192.168.1.100::logs --password-file=/etc/rsyncd/rsyncd.pass rm -rf $tarFileelse echo "log file not existed.file=$tarFile"fi
设置该crontab脚本文件的700权限:
chmod 700 /var/scripts/rsync_operate_log.sh
再使用crontab -e命令来设置每日凌晨3点定时执行脚本文件即可:
0 3 * * * /var/scripts/rsync_operate_log.sh > /dev/null 2>&1
- Rsync服务搭建小结
- rsync服务搭建配置
- 无密码rsync服务搭建
- rsync服务与搭建详解
- rsync服务与搭建详解
- CentOS7 Rsync服务搭建-Rsync+Inotify架构实现实时同步
- Rsync同步镜像服务的搭建
- Rsync 同步镜像服务的搭建
- rsync 同步镜像服务搭建
- linux下rsync服务的搭建
- linux 搭建rsync服务、ftp服务、svn服务
- rsync服务
- Rsync 服务
- 服务-rsync
- rsync服务
- Rsync 搭建
- [转]Rsync同步镜像服务的搭建
- [转]Rsync同步镜像服务的搭建
- vba md5 加密(支持16,32)
- MVC学习实例记录(使用MVC4做的电影管理程序)
- android画图实例_[调用资源_画图]
- JSP学习笔记2
- j2ee学习方法摘要
- Rsync服务搭建小结
- ListView中为每个item设置监听器
- java 实现中缀表达式转为后缀表达式
- Android 自定义progressDialog实现
- volatile和final
- C++类型转化分析:强制转换->const_cast转换
- 适合IT人自学的6个视频网站、8个社区网站
- 中断处理函数
- HDU1068Girls and Boys(最大独立数)