通过Shell脚本快速搭建高效Rsync服务
2012-11-04 22:48
471 查看
在我们的日常运维中,会经常遇到搭建rsync服务的需求,如:网站文件的同步(镜像或备份),patch的更新,各种异机备份等容灾备份等等。如 果把rsync服务的搭建写成脚本,那么就可以在执行脚本之后,有了基本的服务框架,只需针对具体的细节、安全要求做进一步改善,就OK,从而提高我们的 工作效率。
很多Linux系统,像RHEL和CentOS默认安装的是rsync 2.x版本的,而我推荐使用3.x版本,因为3.x在同步算法上有改进,更加有效率。
rsync官网:http://rsync.samba.org/
1)下载最新稳定版本rsync-3.0.8
[root@server ~]# cd tools
[root@server tools]# wget -c http://rsync.samba.org/ftp/rsync/src/rsync-3.0.8.tar.gz
2)编译安装rsync-3.0.8
[root@server tools]# tar xf rsync-3.0.8.tar.gz
[root@server tools]# cd rsync-3.0.8
[root@server rsync-3.0.8]# ./configure && make
3)编译安装后,会在rsync-3.0.8/目录中生成rsync二进制文件,把它拷贝到/usr/local/bin/下:
[root@server rsync-3.0.8]# \cp rsync /usr/local/bin
PS:服务端和客户端都要进行以上的安装操作,如果客户端和服务端都是一种类型的操作系统,可以编译安装一次,然后把rsync二进制命令分发到其他服务器的/usr/local/bin/下即可。
4)在服务端编辑Rsync服务搭建脚本(rsync_server_set.sh)
[root@server ]# cd shells/
[root@server shells]# vi rsync_server_set.sh
5)在服务端直接运行该脚本就搭建好了Rsync服务
[root@server shells]# chmod 755 rsync_server_set.sh
[root@server shells]# ./rsync_server_set.sh 本文出自 “300second的运维小站” 博客
很多Linux系统,像RHEL和CentOS默认安装的是rsync 2.x版本的,而我推荐使用3.x版本,因为3.x在同步算法上有改进,更加有效率。
rsync官网:http://rsync.samba.org/
1)下载最新稳定版本rsync-3.0.8
[root@server ~]# cd tools
[root@server tools]# wget -c http://rsync.samba.org/ftp/rsync/src/rsync-3.0.8.tar.gz
2)编译安装rsync-3.0.8
[root@server tools]# tar xf rsync-3.0.8.tar.gz
[root@server tools]# cd rsync-3.0.8
[root@server rsync-3.0.8]# ./configure && make
3)编译安装后,会在rsync-3.0.8/目录中生成rsync二进制文件,把它拷贝到/usr/local/bin/下:
[root@server rsync-3.0.8]# \cp rsync /usr/local/bin
PS:服务端和客户端都要进行以上的安装操作,如果客户端和服务端都是一种类型的操作系统,可以编译安装一次,然后把rsync二进制命令分发到其他服务器的/usr/local/bin/下即可。
4)在服务端编辑Rsync服务搭建脚本(rsync_server_set.sh)
[root@server ]# cd shells/
[root@server shells]# vi rsync_server_set.sh
#!/bin/bash # # Script Name: rsync_server_set.sh # Description: set rsync service quickly. # +------------------ client side e.g. ------------------+ # $rsync -avz /root/admin/xxx.txt $address::mystation # $rsync -avz $address::xxx_client/ /home/ # +------------------------------------------------------+ # Author: 300second - 51cto.com # Date: 2012-10-18 # rsync=/usr/local/bin/rsync conf_file=/etc/rsyncd.conf port=873 address=192.168.1.41 hosts_allow=192.168.1.0/24 rsync_dir=' [mystation] path = /home/admin/ ' date=`date +%F" "%T` cat > $conf_file <<EOF pid file = /var/run/rsyncd.pid port = $port address = $address uid = root gid = root use chroot = no read only = no hosts allow = $hosts_allow #hosts deny = * $rsync_dir EOF $rsync --daemon --config=$conf_file cat >>/etc/rc.local <<EOF # rsync daemon $date $rsync --daemon --config=$conf_file EOF exit 0 |
[root@server shells]# chmod 755 rsync_server_set.sh
[root@server shells]# ./rsync_server_set.sh 本文出自 “300second的运维小站” 博客
相关文章推荐
- 通过Shell脚本快速搭建高效Rsync服务
- Web Server之通过Node.js快速搭建服务
- 通过rsync清除目录的shell脚本
- 如何在Shell中通过脚本判断某个服务是否存在的解决方法
- 快速搭建DNS服务器(shell脚本)
- 利用shell开发rsync服务启动脚本
- 快速搭建部署网络PXE shell 脚本
- 通过shell脚本来搭建python开发环境
- 通过shell脚本检测MySQL服务信息
- Oracle安装(2)通过SHELL脚本快速安装Oracle11gR2软件
- 通过进程检测服务时脚本文件名不要起要检测的服务名字命名 shell程序从上到下执行若定义函数或引用系统函数需先定义 kill -USR2
- 用Shell脚本快速搭建Ubuntu下的Nodejs开发环境
- rsync服务启动脚本,通过chkconfig来管理开机自启动
- 通过shell脚本构建某服务 start/stop/restart 命令
- rsync服务快速搭建
- 企业Shell面试题15:开发Rsync服务启动脚本案例
- 用Shell脚本快速搭建Ubuntu下的Nodejs开发环境
- 如何通过shell脚本来检查或监控MYSQL数据库服务是否正常?
- 通过在shell脚本中用scp或rsync实现远程同步文件