Rsync:一个很实用的文件同步命令

时间:2023-03-08 15:41:10
Rsync:一个很实用的文件同步命令

rsync是Linux系统下的文件同步和数据传输工具,可用于同步文件、代码发布

1.安装.

yum insatll -y rsync

2.配置 
打开rsync功能vim /etc/xinetd.d/rsync

service rsync
{
disable = no #把yes改成no
flags = IPv6
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
编辑主配置文件
vim /etc/rsyncd.conf服务端

uid = nobody       #目录或文件的属主属组为nobody,同步的时候报错权限不足检查目录文件的所属用户组
gid = nobody
use chroot = yes
max connections = 30
pid file=/var/run/rsyncd.pid
log file=/var/log/rsyncd.log
list = no

[data]    #同步项 模块     【同步项不需要再服务端添加】
path = /usr/local/hero_all_backup/           
hosts allow = 192.168.50.146  
read only = yes

启动即可。rsync –daemon

3.使用.

rsync -avz aaa.txt 192.168.0.162::data

####

-v, –verbose 详细模式输出

-a, –archive 归档模式,表示以递归方式传输文件,并保持所有文件属性

-z, 对备份的文件在传输时进行压缩处理

–-delete 删除那些DST中SRC没有的文件   #rsync带上delete的参数后,当源目录中的文件删除,同步后目标目录中的文件也会被删除

–-exclude= 指定排除不需要传输的文件模式

例如:

Rsync:一个很实用的文件同步命令

rsync带上delete的参数后,当源目录中的文件删除,同步后目标目录中的文件也会被删除

如果是源目录/opt/* 带*号的话,只会同步过去所有,并不会随源目录删除而删除。

4.其他.

rsync -avz --delete /tmp/2/ /var/spool/clientmqueue/

同步/tmp/2空目录到/var/spool/clientmqueue/   即删除/var/spool/clientmqueue/目录下的无用文件。

rsync -avz --delete --exclude=".svn" --exclude="*.swp"    --exclude=“upload”   可排除文件或目录

同步的时候排除.svn和.swp的隐藏文件