CentOS6.5 配置安装并配置rsync
一 安装启动
1. 检查是否安装了 rsync
rpm -qa rsync
已经安装会显示如下
[root@sem ~]# rpm -qa rsync
rsync-3.0.6-9.el6_4.1.x86_64
2.如果没有安装可以使用yum安装
yum install -y rsync
3. 启动 rsync
/etc/init.d/xinetd star // 需安装xinetd
或
service xinetd start // 需安装xinetd
启动rsync服务端(独立启动)
# /usr/bin/rsync --daemon
二: 服务端配置
1.建立 rsync 账号密码文件
vi /home/rsync_user , 添加一行 账号 : 密码
vi /home/rsync_user
root:123456 // 认证用户root和系统用户账号,没有半毛钱关系,这是rsync服务独立的账号配置文件
2.修改权限
[root@sem bin]# cd /home
[root@sem home]# chmod 600 rsync_user
权限必须为600,否则会出错
3.创建rsync配置文件,默认是不存在的
vi /etc/rsyncd.conf
内容如下
uid = nobody // 传输文件时,执行的用户,或0
gid = nobody // 传输文件时,执行的用户组,或0
use chroot = yes // 在传输文件之前,服务器守护程序在将chroot 到文件系统中的目录中
pid file = /var/run/rsyncd.pid // 告知进程写到 /var/run/rsyncd.pid 文件中
log file = /var/log/rsyncd.log // 日志路径
[commons] // 模块名,主要是定义服务器哪个目录要被同步
path = /data/sem/data/common // 指定文件目录所在位置,这是必须指定的
comment = Rsync share test // 注释可以自己定义
auth users = root // 认证用户是 root,必须是服务器上真实存在的用户
secrets file = /home/rsync_user // 密码存在哪个文件
read only = yes // 是只读选择,也就是说,不让客户端上传文件到服务器
4.修改 /etc/xinetd.d/rsync
[root@sem ~]# vi /etc/xinetd.d/rsync
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = yes // 是否开启rsync,开启后可以执行
flags = IPv6
socket_type = stream // TCP数据包
wait = no // 连接机制为single-multi
user = root // 服务所属UID
server = /usr/bin/rsync // 启动程序
server_args = --config=/etc/rsyncd.conf --daemon // 参数配置
log_on_failure += USERID // 日志额外记录登录者账号
}
将 disable = no //把disable = yes改成no
或者执行以下命令也能开启服务
# chkconfig rsync on
其他相应参照修改。
5.启动rsync服务端(独立启动)
# /usr/bin/rsync --daemon
三 客户端
1. 设置密码文件
# vi /home/rsync_pass // 只需写登录用户密码,要与服务器端设置密码一致
123456
2. 修改权限
chmod 600 /home/rsync_pass
3.创建接收服务器文件的目录
mkdir /data/rsync-local
4.在同步服务文件之前,可以先浏览一下服务中带共享的文件,此处可以先查看一下共享的文件
[root@isensor rsync-local]# rsync root@192.168.1.3::commons
Password: //输入设置的密码123456
drwxr-x--- 32 2021/07/01 15:54:39 .
drwxr-x--- 4096 2021/06/30 18:59:21 css
drwxr-x--- 4096 2021/07/29 17:04:10 jsp
5. 手动同步共享目录
rsync -az --password-file=/home/rsync_pass root@192.168.1.3::commons /data/rsync-local
--password-file指定密码文件, 最后的路径是同步文件存放路径
6. 使用cron例行性任务定时从服务器同步文件
编辑文件 vi filersync.sh
#!/bin/bash /usr/bin/rsync -a --password-file=/home/rsync_pass root@192.168.3.118::commons /data/backup/files/commons
赋予可执行权限
编辑cron任务,定时调用filersync.sh 命令
# crontab -e
0 5 * * * /data/backup/files/filesync.sh
7. rsync failed: Permission denied (13)
修改服务器端的 配置文件 rsyncd.conf
uid = 0
gid = 0
或者把报错的目录 权限修改为755
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2017-11-16 jedis,spring-redis-data 整合使用,版本问题异常
2017-11-16 编译 redis 报错 error: jemalloc/jemalloc.h: No such file or directory
2017-11-16 编译redis时 提示make cc Command not found