🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 项目需求 Web客户端从Rsync服务端拉取最新网站代码。 需求环境:3台服务器 - A为WCM服务器(Server服务端) - B、C为Web服务器(Client服务端) ### Rsync服务部署 安装服务(依赖epel源) ``` yum install rsync -y ``` 设置rsync服务开机自启动 ``` systemctl enable rsyncd ``` 创建rsync用户 ``` useradd rsync -s /sbin/nologin -M ``` 创建共享目录、改权限 ``` mkdir /data/generate_page/ -p chown -R rsync.rsync /data/generate_page/ ``` 将用户和密码写入密码文件、并修改访问权限 ``` echo "web_rsync:web_pass" >/etc/rsync.password chmod 600 /etc/rsync.password #web_rsync表示用户名 #web_pass表示密码 ``` 编辑rsyncd.conf配置文件 ```shell uid = rsync gid = rsync use chroot = no max connections = 200 timeout = 300 #log file = /var/log/rsyncd.log [webpage] path=/data/generate_page/ ignore errors read only=no list=no exclude=lost+found/ hosts allow=192.168.0.0/16 auth users=web_rsync secrets file=/etc/rsync.password ``` 注释 ``` uid = rsync --rsync 用户 (默认是nobody) gid = rsync --rsync 用户 (默认是nobody) use chroot = no max connections = 200 --最大连接数 有多少客户端能连接 timeout = 300 --连接超时 [webpage] --模块名字 path = /data/generate_page/ --服务端共享的目录(可以理解为NFS的共享目录) ignore errors -- 忽略错误 read only = false --可写 list = false --不容许列表 hosts allow = 192.168.0.0/16 --容许的主机段 auth users = web_rsync --连接的用户(虚拟用户,非系统用户) secrets file = /etc/rsync.password --用户对应的密码文件(将密码写入到文件中,省去手敲的麻烦) ``` ### 客户端配置步骤:(需安装rsync) 在客户端将密码写入密码文件、并修改访问权限,只放入密码,不用用户名。 ``` echo "web_pass" >/etc/rsync.password chmod 600 /etc/rsync.password ``` #### 客户端从服务器端拉取 需要输入密码的命令: ``` rsync -avz --delete web_rsync@192.168.0.43::webpage/ /data/static/ Password: #rsync_backup@192.168.106.135 --服务器端用户和IP地址 #backup/ --服务器端模块名字(框目录) #/opt/ --拉到本地文件夹 #password-file=/etc/rsync.password --虚拟用户(rsync_backup)的密码 ``` 使用密码文件的命令: ``` rsync -avz --delete web_rsync@192.168.0.43::webpage/ /data/static/ --password-file=/etc/rsync.password ```