liunx 安装rsync
2024-08-27 17:27:45
新建一个rsync.s文件,把下面的代码写入文件里:
#!/usr/bin/env bash
mkdir -p /data/app/rsync/etc/
mkdir -p /data/logs/rsync/
mkdir -p /data/download/
mkdir -p /data/www/test/
cd /data/download
wget https://download.samba.org/pub/rsync/src/rsync-3.1.3.tar.gz
tar zxvf rsync-3.1.3.tar.gz
cd rsync-3.1.3
./configure --prefix=/data/app/rsync
make && make install echo 'wzb:123456' > /data/app/rsync/etc/rsyncd.secrets
chmod 600 /data/app/rsync/etc/rsyncd.secrets cat > /data/app/rsync/etc/rsyncd.conf <<EOF
max connections = 5
# 基本配置,注意uid和gid需要是root,否则无法指定目标文件的所属用户和所属组
secrets file = /data/app/rsync/etc/rsyncd.secrets
read only = no
write only = no
list= yes
uid = root
gid = root
max connections = 5
hosts allow = *
#hosts deny = *
use chroot = no
log file = /data/logs/rsync/rsyncd.log
pid file = /var/run/rsyncd.pid
# 设置访问的用户必须为rsync,这个用户是虚拟的,不需要在系统中创建这个用户。客户端进行推送的时候指定即可
auth users = wzb
# 设置密码文件位置,这里保存了rsync用户的密码
secrets file = /data/app/rsync/etc/rsyncd.secrets
# 配置一个模块,一个模块就是一个可以进行同步的目录,可以配置多个模块意味着接受多个目录的同步请求,模块名是随意起的,客户端在发起同步时需指定模块名
[test]
path = /data/www/test
# 设置访问的用户必须为rsync,这个用户是虚拟的,不需要在系统中创建这个用户。客户端进行推送的时候指定即可
auth users = wzb
# 设置密码文件位置,这里保存了rsync用户的密码
secrets file = /data/app/rsync/etc/rsyncd.secrets
EOF #添加开机启动
cat > /data/app/rsync/rsync_service.sh <<EOF
#!/bin/bash
/data/app/rsync/bin/rsync --daemon --config=/data/app/rsync/etc/rsyncd.conf
EOF chmod +x /data/app/rsync/rsync_service.sh cat >> /etc/rc.local <<EOF
/data/app/rsync/rsync_service.sh
EOF
if [[ $? == 0 ]]; then
echo -e "\n==========rsync安装成功==========\n\n"
else
echo -e "\n==========rsync安装失败!==========\n\n"
exit 0
fi
客户端上传文件列子:
rsync -avzP --exclude-from=exclude.txt ./ wzb@116.**.1**.**5::test --chown=www:www --progress --password-file=/etc/waptest_tp5.txt
rsync -avzP --exclude-from=exclude.txt ./ wzb@116.**.1**.**5::test --chown=www:www --progress --delete --password-file=/etc/waptest_tp5.txt
#/etc/waptest_tp5.txt 密码文件
#exclude.txt 过滤文件
#--delete 参数为完全同步
下载文件列子:
rsync -avz --exclude-from=exclude.txt wzb@4*.**.**.1*1::test ./
最新文章
- ASP.NET Core 折腾笔记一
- sh1.shell脚本练习
- Solution for Error FRM-92095: Oracle Jnitiator version too low
- 如何给Firefox附加组件签名
- docker help
- SQL Server Transact-SQL 编程
- zepto源码--核心方法6(显示隐藏)--学习笔记
- codevs 1835 魔法猪学院 A*寻k短路做了一个月卡死在spfa那了/(ㄒoㄒ)/~~
- verilog实现16位五级流水线的CPU带Hazard冲突处理
- Toast.makeText().show() 正常使用但不显示的解决办法
- OpenGL 顶点缓存对象
- 计蒜客 取数游戏(dp)
- HTTP协议4之缓存--转
- 【ASP.NET Web API教程】3.3 通过WPF应用程序调用Web API(C#)
- 关于WHERE后面不能放聚合函数(如SUM(...))的解决办法
- Chromium模块和进程模型
- 小程序server-3-搭建WebSocket 服务
- Web 动画帧率(FPS)计算
- 两种设计模式和XML解析
- Leetcode_169_Majority Element
热门文章
- python3 使用flask连接数据库出现“ModuleNotFoundError: No module named &#39;MySQLdb&#39;”
- Maven-项目管理(一)_认识Maven
- 关于SpringBoot跨域的问题
- 震惊!文科生如何三个月转行成为Java工程师?
- TCP输入 之 tcp_rcv_established
- wait/notify模拟线程池
- js 里面call()的使用
- 判断是否为日期格式 与 判断是否为BigDecimal
- [Hibernate]知识点
- OpenStack 对接 Ceph 环境可以创建卷但不能挂载卷的问题