rsync指定端口,rsync指定端口启动

http://www.itjxue.com  2023-01-24 09:12  来源:未知  点击次数: 

rsync命令技巧

rsync 的常用参数如下:

--partial 当有部分文件传输完成,再次传输的时候,会保留已经完成的部分;

--progress 打印文件传输的进度

-P 该参数与 --partial --progress 相同, 表示打印文件传输进度,而对于重传发生的时候,会自动保留已经成功传输的部分

-v 表示 同步的时候,显示详细信息

-a 等同于 -rlptgoD , 但是没有 -A (保留acl ), -H (保留硬链接), -X (保留 extended attributes),因为acl,extended attributes 需要目标文件系统支持才可能实现保留

-r : 递归到目录中

-l : 保留软链接

-p : 保留文件的权限

-t : 保留文件的修改时间

-g : 保留所属组

-o : 保留 所属者

-D : 与 --devices --specials 相同,表示保留 设备文件以及特殊文件;

所以常用的参数为: rsync -avP

我们知道,rsync 默认采用873 端口来进行通信,当有client连接进来的时候,会创建一个新的socket, 从而建立连接;这样可能面临被攻击的风险,比如黑客成功和rsync建立了新的socket连接(873端口).

所以,我们可能面临这样的需求: 在server端"不创建新的socket连接",但是依然要实现数据的传输; rsync是支持这种特性的;

没有 socket 连接不能实现网络通信,而又不能创建新的socket连接,那么要实现网络通信就只能使用 :已经处于listen状态的socket来进行通信;rsync的 -e 参数就是用来支持这个特定的:

当指定 -e 参数后,比如 rsync -e "ssh -l ssh_id -p PORT " rsync_user@REMOTE:/PATH/TO/COPY ./ , 这个命令的执行过程如下:

因为-e 指定了远程shell, 所以 rsync 会利用ssh 方式连接到目标服务器,ssh的用户是 ssh_id , 端口是 PORT, 成功连接后,会spawn 一个单用户的rsync 进程,从而保证了当前的rsync传输数据的安全性,因为没有其他用户可以访问这个进程 . 如果不指定ssh的用户,那么默认的 rsync_user 用户被用作ssh的用户;

linux中的rsync同步怎么配置

一、rsync简介

用于替代rcp的一个工具,rsync可以通过rsh或ssh使用,也能以daemon模式去运行,在以daemon方式运行时rsync

server会开一个873端口,等待客户端去连接,连接时,rsync

server会检查口令是否相符,若通过口令查核,则可以通过进行文件传输,第一次连通完成时,会把整份文件传输一次,以后则就只需进行增量备份;

二、rsync常用参数

-v,--verbose 详细模式输出;

-a,--archive 归档模式,表示以递归的方式传输文件,并保持所有文件属性不变,相当于使用了组合参数-rlptgoD;

-r, --recursive 对子目录以递归模式处理;

-l, --links 保留软链结;

-p, --perms 保持文件权限;

-t, --times 保持文件时间信息;

-g, --group 保持文件属组信息;

-o, --owner 保持文件属主信息;

-D, --devices 保持设备文件信息;

-H, --hard-links 保留硬链结;

-S, --sparse 对稀疏文件进行特殊处理以节省DST的 空间;

--delete 删除那些DST中SRC没有的文件;

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

三、rsync的六种不同的工作模式;

1)拷贝本地文件;

当SRC和DES路径信息中不包含冒号":"分隔符时,就启用这种工作模式:

[root@cmmailapp1 /]# rsync -avSH /home/coremail/ /cmbak/

2)使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器,当DST路径地址包括冒号":"分隔符时启动该模式;

[root@cmmailapp1 /]# rsync -avSH /home/coremail/ 192.168.11.12:/home/coremail/

3)使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器,当SRC地址路径包括冒号":"分隔符时启动该模式;

[root@cmmailapp2 /]# rsync -avSH 192.168.11.11:/home/coremail/ /home/coremail/

4)从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。

如:rsync -av root@172.16.78.192::www /databack

5)从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。

如:rsync -av /databack root@172.16.78.192::www

6)列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。

如:rsync -v rsync://192.168.11.11/data

四、rsync服务端的配置;

环境:192.168.11.11为生产机;192.168.11.12为备份机;

那么需要192.168.11.11需要作为rsync的client;

192.168.11.12作为rsync的service端;

1、192.168.11.12_service端的配置;

1)[root@cmmailapp2 data]# touch /etc/rsyncd.conf //此文件为rsync的主配置问题,默认不存在需要手动创建;

2)定义同步的配置;

[root@cmmailapp2 data]# cat /etc/rsyncd.conf

[data]

path = /data/

auth users = coremail

uid = root

gid = root

secrets file = /etc/rsyncd.secrets

read only = no

[mysql]

Path = /home/coremail/var/mysql

auth users = coremail

uid = root

gid = root

secrets file = /etc/rsyncd.secrets

read only = no

[cmxt]

Path = /home/coremail/

auth users = coremail

uid = root

gid = root

secrets file = /etc/rsyncd.secrets

read only = no

3)定义密码文件/etc/rsyncd.secrets

[root@cmmailapp2 data]# cat /etc/rsyncd.secrets

coremail:coremail

4)启动rsync启动服务

[root@cmmailapp2 data]# cat /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 //需要修改为no;

socket_type = stream

wait = no

user = root

server = /usr/bin/rsync

server_args = --daemon

log_on_failure += USERID

}

[root@cmmailapp2 data]# chkconfig --level 2345 rsync on

[root@cmmailapp2 data]# chkconfig rsync on

[root@cmmailapp2 data]# chkconfig --level 2345 xinetd on

[root@cmmailapp2 data]# service xinetd restart

Stopping xinetd: [ OK ]

Starting xinetd: [ OK ]

2、192.168.11.11_client端的配置;

[root@cmmailapp1 /]# cat /etc/rsyncd.secrets

coremail

[root@cmmailapp1 /]# rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/coremail@192.168.11.12::data

[root@cmmailapp1 /]# rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/coremail@192.168.11.12::mysql

[root@cmmailapp1 /]# rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/coremail@192.168.11.12::cmxt

五、定义定时自行rsync同步,指定同步的日志所在的路径/var/log/rsync/下;

[root@cmmailapp1 log]# cat /root/rsync.sh

DATE=`date +%Y%m%d%H%M`

rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/ coremail@192.168.11.12::data/var/log/rsync.date.$DATE

rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/ coremail@192.168.11.12::mysql/var/log/rsync.mysql.$DATE

rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/ coremail@192.168.11.12::cmxt/var/log/rsync.cmxt.$DATE

chmod u+x /root/rsync.sh

[root@cmmailapp1 log]# crontab -l

0 3 * * * /root/rsync.sh

执行时候的日子记录文件:

[root@cmmailapp1 log]# ls |grep 'rsync'

rsync.cmxt.201110180915

rsync.date.201110180915

rsync.mysql.201110180915

Linux下rsync命令用法

rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一详细说明

在对rsync服务器配置结束以后,下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来。rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。

Rsync的命令格式可以为以下六种:

rsync [OPTION]... SRC DEST

rsync [OPTION]... SRC [USER@]HOST:DEST

rsync [OPTION]...

[USER@]HOST:SRC DEST

rsync [OPTION]... [USER@]HOST::SRC DEST

rsync

[OPTION]... SRC [USER@]HOST::DEST

rsync [OPTION]...

rsync://[USER@]HOST[:PORT]/SRC [DEST]

对应于以上六种命令格式,rsync有六种不同的工作模式:

1)拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:rsync -a /data /backup

2)使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:rsync

-avz *.c foo:src

3)使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。如:rsync

-avz foo:src/bar /data

4)从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。如:rsync -av

root@172.16.78.192::www /databack

5)从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。如:rsync -av /databack

root@172.16.78.192::www

6)列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。如:rsync

-v rsync://172.16.78.192/www

rsync参数的具体解释如下:

-v,

--verbose 详细模式输出

-q, --quiet 精简输出模式

-c, --checksum 打开校验开关,强制对文件传输进行校验

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

-r, --recursive

对子目录以递归模式处理

-R, --relative 使用相对路径信息

-b, --backup

创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。

--backup-dir 将备份文件(如~filename)存放在在目录下。

-suffix=SUFFIX 定义备份文件前缀

-u,

--update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)

-l, --links 保留软链结

-L, --copy-links 想对待常规文件一样处理软链结

--copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结

--safe-links 忽略指向SRC路径目录树以外的链结

-H, --hard-links 保留硬链结

-p, --perms

保持文件权限

-o, --owner 保持文件属主信息

-g, --group 保持文件属组信息

-D, --devices

保持设备文件信息

-t, --times 保持文件时间信息

-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间

-n,

--dry-run现实哪些文件将被传输

-W, --whole-file 拷贝文件,不进行增量检测

-x, --one-file-system

不要跨越文件系统边界

-B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节

-e, --rsh=COMMAND

指定使用rsh、ssh方式进行数据同步

--rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息

-C,

--cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件

--existing

仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件

--delete 删除那些DST中SRC没有的文件

--delete-excluded 同样删除接收端那些被该选项指定排除的文件

--delete-after 传输结束以后再删除

--ignore-errors 及时出现IO错误也进行删除

--max-delete=NUM 最多删除NUM个文件

--partial

保留那些因故没有完全传输的文件,以是加快随后的再次传输

--force 强制删除目录,即使不为空

--numeric-ids

不将数字的用户和组ID匹配为用户名和组名

--timeout=TIME IP超时时间,单位为秒

-I, --ignore-times

不跳过那些有同样的时间和长度的文件

--size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间

--modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0

-T --temp-dir=DIR

在DIR中创建临时文件

--compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份

-P 等同于 --partial

--progress 显示备份过程

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

--exclude=PATTERN

指定排除不需要传输的文件模式

--include=PATTERN 指定不排除而需要传输的文件模式

--exclude-from=FILE

排除FILE中指定模式的文件

--include-from=FILE 不排除FILE指定模式匹配的文件

--version 打印版本信息

--address 绑定到特定的地址

--config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件

--port=PORT 指定其他的rsync服务端口

--blocking-io 对远程shell使用阻塞IO

-stats

给出某些文件的传输状态

--progress 在传输时现实传输过程

--log-format=formAT 指定日志文件格式

--password-file=FILE 从FILE中得到密码

--bwlimit=KBPS 限制I/O带宽,KBytes per second

-h, --help 显示帮助信息

rsync实现windows环境下的数据同步(转)

本文链接

四:客户端同步服务端数据

客户端安装类似服务端一直下一步就行

rsync.exe -avz --progress --password-file=rsync.password testwin_rsync@172.19.56.86::testwin /cygdrive/d/ftpdata

rsync.exe -avz --progress --password-file=rsync.pass /cygdrive/d/ftpdata testwin_rsync@172.19.56.86::testwin

这个是把客户端client文件同步到服务端server

注意:客户端执行的时候要在客户端的bin目录下,还有一种方式可以配环境变量

同步的时候conf中配置的需要同步的目录设置共享,然后将创建的testwin_rsyncy用户也共享此文件夹。

D:\cwRsync2\bin\rsync.exe -vrtopg --exclude=desktop.ini --exclude=Desktop.ini --exclude=Thumbs.db --exclude=RECYCLER --progress --password-file=etc/pwd.conf qbanke@192.168.3.3::Documents/ /cygdrive/e/Documents

D:\cwRsync2\bin\rsync.exe -vrtopg --exclude=desktop.ini --exclude=Desktop.ini --exclude=Thumbs.db --exclude=RECYCLER --progress --password-file=etc/pwd.conf /cygdrive/e/Documents qbanke@192.168.3.3::Documents

#意思是

#执行 d:\rsync_Kaiser\bin\rsync.exe

# -vrtopg 这个是运行参数, 可以查看下边的参数列表。

# -exclude=desktop.ini --exclude=Desktop.ini --exclude=Thumbs.db --exclude=RECYCLER 这些也是运行参数, 意思是把=号后边的文件屏蔽掉,不做同步.

# --progress 在程序执行的时候屏幕窗口上显示详细的运作信息,例如整在同步那个文件,速度多少。

# -password-file=etc/pwd.conf 跟服务器端一样,指定密码文件的路径,以便在自动运行的时候不用手动来输入.

# /cygdrive/e/Documents qbanke@192.168.3.3::Documents本地文件夹 e:\ 盘上Documents所有的内容(路径自己根据不情况进行修改)将和 服务端ip地址192.168.3.3 的 Documents 存储目录同步。

如果出现任何错,最大一个可能第一是权限没弄好,目录的,密码文件的。

第二就是配置有误,客户端的没跟服务器的对应好,账号或者存储目录名。

Rsync 的服务端配置里头的储存目录不止写一个的,还可以添加多个存放不同的文件夹或者不同的硬盘

-v, --verbose 详细模式输出

-q, --quiet 精简输出模式

-c, --checksum 打开校验开关,强制对文件传输进行校验

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

-r, --recursive 对子目录以递归模式处理

-R, --relative 使用相对路径信息

-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。

--backup-dir 将备份文件(如~filename)存放在在目录下。

-suffix=SUFFIX 定义备份文件前缀

-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)

-l, --links 保留软链结

-L, --copy-links 想对待常规文件一样处理软链结

--copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结

--safe-links 忽略指向SRC路径目录树以外的链结

-H, --hard-links 保留硬链结

-p, --perms 保持文件权限

-o, --owner 保持文件属主信息

-g, --group 保持文件属组信息

-D, --devices 保持设备文件信息

-t, --times 保持文件时间信息

-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间

-n, --dry-run现实哪些文件将被传输

-W, --whole-file 拷贝文件,不进行增量检测

-x, --one-file-system 不要跨越文件系统边界

-B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节

-e, --rsh=COMMAND 指定使用rsh、ssh方式进行数据同步

--rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息

-C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件

--existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件

--delete 删除那些DST中SRC没有的文件

--delete-excluded 同样删除接收端那些被该选项指定排除的文件

--delete-after 传输结束以后再删除

--ignore-errors 及时出现IO错误也进行删除

--max-delete=NUM 最多删除NUM个文件

--partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输

--force 强制删除目录,即使不为空

--numeric-ids 不将数字的用户和组ID匹配为用户名和组名

--timeout=TIME IP超时时间,单位为秒

-I, --ignore-times 不跳过那些有同样的时间和长度的文件

--size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间

--modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0

-T --temp-dir=DIR 在DIR中创建临时文件

--compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份

-P 等同于 --partial

--progress 显示备份过程

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

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

--include=PATTERN 指定不排除而需要传输的文件模式

--exclude-from=FILE 排除FILE中指定模式的文件

--include-from=FILE 不排除FILE指定模式匹配的文件

--version 打印版本信息

--address 绑定到特定的地址

--config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件

--port=PORT 指定其他的rsync服务端口

--blocking-io 对远程shell使用阻塞IO

-stats 给出某些文件的传输状态

--progress 在传输时现实传输过程

--log-format=formAT 指定日志文件格式

--password-file=FILE 从FILE中得到密码

--bwlimit=KBPS 限制I/O带宽,KBytes per second

-h, --help 显示帮助信息

参考地址:

相关链接

简单两步实现 rsync 自动同步文件免密

Rsync 数据同步工具应用指南

(责任编辑:IT教学网)

更多

相关网站经济文章

推荐网站经济文章