Ubuntu 下Rsync配置及使用

以下系统版本下的的Rsync的配置:

1,[email protected]:/home/zko# cat /etc/issue

Ubuntu 14.04.1 LTS \n \l

2,[email protected]:/home/zko# uname -a

Linux zko-laptop 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:45 UTC 2014 i686 i686 i686 GNU/Linux

3,[email protected]:/home/zko# cat /proc/version

Linux version 3.13.0-36-generic ([email protected]) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #63-Ubuntu SMP Wed Sep 3 21:30:45 UTC 2014

简介

rsync是类unix系统下的数据镜像备份工具——remote sync。一款快速增量备份工具 Remote Sync,远程同步 支持本地复制,或者与其他SSH、rsync主机同步。

特性

可以镜像保存整个目录树和文件系统。

可以很容易做到保持原来文件的权限、时间、软硬链接等等。

无须特殊权限即可安装。

快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。

安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。

支持匿名传输,以方便进行网站镜象。

服务端iP:192.168.1.101   客户端IP:192.168.1.103

服务端安装配置:

安装:

[email protected]:/home/zko# sudo apt-get install rsync

寻找配置文件:

[email protected]:/home/zko# locate rsyncd.conf

/usr/share/doc/rsync/examples/rsyncd.conf

[email protected]:/home/zko# cp /usr/share/doc/rsync/examples/rsyncd.conf /etc/rsyncd.conf

[email protected]:/home/zko# cat /etc/rsyncd.conf   // 已经修改的

# sample rsyncd.conf configuration file

# GLOBAL OPTIONS

motd file=/etc/rsyncd.motd

log file=/var/log/rsyncd.log

transfer logging=yes

lock file=/var/run/rsync.lock

port=873

address=192.168.1.101

uid=nobody

gid=nobody

use chroot=no

read only=yes

max connections=10

# for pid file, do not use /var/run/rsync.pid if

# you are going to run rsync out of the init.d script.

# The init.d script does its own pid file handling,

# so omit the "pid file" line completely in that case.

pid file=/var/run/rsyncd.pid

#syslog facility=daemon

#socket options=

# MODULE OPTIONS

[ftp]

comment = public archive

path = /var/www/pub

use chroot = yes

#max connections=10

lock file = /var/lock/rsyncd

# the default for read only is yes...

read only = yes

list = yes

uid = nobody

gid = nogroup

#exclude =

#exclude from =

#include =

#include from =

#auth users =

#secrets file = /etc/rsyncd.secrets

strict modes = yes

#hosts allow =

#hosts deny =

ignore errors = no

ignore nonreadable = yes

transfer logging = no

#log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.

timeout = 600

refuse options = checksum dry-run

dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz

在[ftp]下增加共享目录模块:(编辑/etc/rsyncd.conf,增加[common]模块)

[common]

comment=Web content

path=common/  // 共享文件夹

ignore errors

#exclude=test/

auth users=tom,jerry      //用户

secrets file=/etc/rsyncd.secrets  //密码验证文件

host allow=192.168.1.101/255.255.255.0

host deny=*

list=false

添加共享文件夹:common/ ;

配置/etc/rsyncd.secrets文件,创建用户密码:

[email protected]:/home/zko# echo "tom:123456" >>/etc/rsyncd.secrets

[email protected]:/home/zko# cat /etc/rsyncd.secrets

tom:123456

[email protected]:/home/zko# echo "jerry:123456" >>/etc/rsyncd.secrets

[email protected]:/home/zko# cat /etc/rsyncd.secrets

tom:123456

jerry:123456

配置/etc/rsync.motd文件,创建服务器提示文件rsync.motd:

[email protected]:/home/zko# chmod 600 /etc/rsyncd.secrets

[email protected]:/home/zko# echo "welcome to access">>/etc/rsync.motd

[email protected]:/home/zko# cat /etc/rsync.motd

welcome to access

查看系统开启的端口:

[email protected]:/home/zko# netstat -nap| grep 873

tcp6       0      0 :::41873                :::*                    LISTEN      1313/rpc.mountd

unix  2      [ ACC ]     流        LISTENING     12873    1210/mysqld         /var/run/mysqld/mysqld.sock

开启rsync服务;

[email protected]:/home/zko# rsync --daemon

[email protected]:/home/zko# netstat -nap| grep 873

tcp        0      0 192.168.1.101:873       0.0.0.0:*               LISTEN      4200/rsync

tcp6       0      0 :::41873                :::*                    LISTEN      1313/rpc.mountd

unix  2      [ ACC ]     流        LISTENING     12873    1210/mysqld         /var/run/mysqld/mysqld.sock

客户端安装:

查询升级:

[email protected]:/home/zko# dpkg -l | grep rsync

ii  librsync1:amd64                                       0.9.7-10                                            amd64        rsync remote-delta algorithm library

ii  rsync                                                 3.1.0-2                                             amd64        fast, versatile, remote (and local) file-copying tool

[email protected]:/home/zko# apt-get install rsync

正在读取软件包列表... 完成

正在分析软件包的依赖关系树

正在读取状态信息... 完成

下列软件包将被升级:

rsync

升级了 1 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 411 个软件包未被升级。

需要下载 283 kB 的软件包。

解压缩后会消耗掉 0 B 的额外空间。

获取:1 http://cn.archive.ubuntu.com/ubuntu/ trusty-updates/main rsync amd64 3.1.0-2ubuntu0.1 [283 kB]

下载 283 kB,耗时 14秒 (19.5 kB/s)

(正在读取数据库 ... 系统当前共安装有 167318 个文件和目录。)

Preparing to unpack .../rsync_3.1.0-2ubuntu0.1_amd64.deb ...

Unpacking rsync (3.1.0-2ubuntu0.1) over (3.1.0-2) ...

Processing triggers for man-db (2.6.7.1-1) ...

Processing triggers for ureadahead (0.100.0-16) ...

ureadahead will be reprofiled on next reboot

正在设置 rsync (3.1.0-2ubuntu0.1) ...

update-rc.d: warning: default stop runlevel arguments (0 1 6) do not match rsync Default-Stop values (none)

System start/stop links for /etc/init.d/rsync already exist.

客户端与服务端链接:

[email protected]:/home/zko# rsync -vzrtopg --progress [email protected]::common /test

Password:

@ERROR: invalid gid nobody

rsync error: error starting client-server protocol (code 5) at main.c(1653) [Receiver=3.1.0]

[email protected]:/home/zko# rsync -vzrtopg --progress [email protected]::common

出现错误:@ERROR: invalid gid nobody

解决办法:子啊服务端(192.168.1.101)编辑、etc/rsyncd.conf修改uid=0  gid=0;

[email protected]:/home/zko# rsync -vzrtopg --progress [email protected]::common /test

[email protected]:/home/zko# rsync -vzrtopg --progress [email protected]::common /test

Password:

receiving incremental file list

created directory /test

./

README

2,427 100%    2.31MB/s    0:00:00 (xfr#1, to-chk=67/69)

acpid

2,243 100%    1.07MB/s    0:00:00 (xfr#2, to-chk=66/69)

anacron

2,014 100%  491.70kB/s    0:00:00 (xfr#3, to-chk=65/69)

apache2

9,974 100%    1.59MB/s    0:00:00 (xfr#4, to-chk=64/69)

....................................................................

xrdp

4,963 100%   79.45kB/s    0:00:00 (xfr#68, to-chk=0/69)

sent 1,319 bytes  received 76,155 bytes  17,216.44 bytes/sec

成功!

test目录在192.168.1.103的文件系统根目录下;

[email protected]:/# ll test/-------------------------------------->192.168.1.103

总用量 324

-rwxr-xr-x 1 root root 2243  9月 30 14:48 acpid

-rwxr-xr-x 1 root root 2014  9月 30 14:48 anacron

-rwxr-xr-x 1 root root 9974  9月 30 14:48 apache2

................................................................................

-rwxr-xr-x 1 root root 3111  9月 30 14:48 urandom

-rwxr-xr-x 1 root root 2666  9月 30 14:48 x11-common

-rwxr-xr-x 1 root root 4963  9月 30 14:48 xrdp

[email protected]:/home/zko# ll /etc/init.d ------------------------->192.168.1.101

总用量 308

-rwxr-xr-x 1 root root 2243  4月  4 02:40 acpid

-rwxr-xr-x 1 root root 2014  2月 20  2014 anacron

-rwxr-xr-x 1 root root 9974  1月  7  2014 apache2

..................................................................

-rwxr-xr-x 1 root root 3111  3月 13  2014 urandom

-rwxr-xr-x 1 root root 2666  3月 23  2012 x11-common

-rwxr-xr-x 1 root root 4963  1月 22  2012 xrdp

---------------------------------------------本机的复制----------------------------------------

[email protected]:/home/zko# rsync -avz /home/zko/1 /tmp

sending incremental file list

1/

1/data.txt

1/test21.sh

1/test/

1/test/1.sh

1/test/2.sh

1/test/3.sh

sent 492 bytes  received 127 bytes  1,238.00 bytes/sec

total size is 112  speedup is 0.18

[email protected]:/home/zko# cd /t

test/ tmp/

[email protected]:/home/zko# cd /tmp/

[email protected]:/tmp# ls

1  ssh-V4uwFb1IMz48  unity_support_test.1

[email protected]:/tmp# tree 1

1

├── data.txt

├── test

│   ├── 1.sh

│   ├── 2.sh

│   └── 3.sh

└── test21.sh

1 directory, 5 files

-----------------------------------显示服务器所有模块名称------------------------------------

[email protected]:/home/zko# rsync --list-only [email protected]::

ftp            public archive

common         Web content

---------------------------------------------------------------------------------------------------------

参数详解编辑

-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 显示帮助信息

时间: 2024-10-10 03:04:35

Ubuntu 下Rsync配置及使用的相关文章

ubuntu 下安装配置open-iscsi并自动挂载

1.安装open-iscsi apt-get install open-iscsi 2.发现iscsi-target(ISCSI服务器IP:192.168.1.104) iscsiadm -m discovery -t sendtargets -p 192.168.1.104 3.设置开机自动登录到iscsi-target iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.6f5d0fb29fc9 -p 192.168.1.104 –op upd

ubuntu下如何配置codeblocks字体颜色主题

1.在ubuntu的home中ctrl+h显示隐藏文件夹,找到一个.codeblocks的文件夹,然后那个文件夹中有一个default.conf的文件,选择打开方式gedit.然后将下面的代码复制进去,在复制进去之前,最好将你自己的配置文件备份好. 配置代码: <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <CodeBlocksConfig version=&q

[Android]Samba服务器在Ubuntu下的配置与Windows系统间的数据共享

安装Samba 安装sambasudo apt-get install samba[编辑]Kubuntu 安装系统设置的共享模块sudo apt-get install kdenetwork-filesharing[编辑]配置 1.windows 访问 ubuntu 第一步创建共享目录: 比如要创建/home/用户名/share首先创建这个文件夹 (这个用户名就是你的用户名,为了方便易懂我才这样写的,到时记得自己改啊) 代码:mkdir /home/用户名/share (新建share文件夹)c

Opencv 2.4.9在Ubuntu下的配置安装

转载自 Opencv 2.4.9在Ubuntu下的配置安装 每次学习新东西或者换新的电脑,最让人头疼的就是环境的安装了.网上有一大堆教程,不过总地来讲,比较混乱,有些甚至有误导性,当然也不乏一些有质量的博客.为了方便自己以后重复安装以及能够帮助到有需要的朋友,在此将相关有用的博客整理一下. 这里主要讲一些如何在Ubuntu(12.04)下安装Opencv(2.4.9).Opencv的源码可以在其官网下载,也可以在百度网盘下载. Opencv的最近的一些版本都是使用cmake来编译的,其配置过程基

ubuntu下nagios配置

参考文献: http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html http://my.oschina.net/duangr/blog/183160 设定文件权限 chown -R nagios.nagios envision_* chown -R nagios.nagios envision_* 1.创建用户并设定密码 # useradd -s /sbin/nologin nagios 修改nagios密码 sudo pass

ubuntu下PHP配置Xdebug

ubuntu下PHP配置Xdebug 1,安装 php5-xdebug sudo apt-get install php5-xdebug 2,修改php.ini 配置 打开:/etc/php5/mods-available/xdebug.ini 加入下列: xdebug.remote_enable=1//是否允许远程终端 这里标示开启 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_host=localhost xd

Ubuntu下删除配置错误或者失败的安装包

Ubuntu下删除配置错误或者失败的安装包(转) aptitude purge $(dpkg -l|grep ^rc|awk '{ print $2 }') 解释: dpkg -l 列出系统中所有安装的软件,如果是已经删除的软件(有残存的配置文件),那么该的软件包的状态是rc,即开头显赫为rc 然后是空格,然后是软件包的名称: |grep ^rc 的用处就是找出状态为rc的所有软件包,即以rc开头的行; |awk '{ print $2 }' awk可以将输入的字符串用指定的分隔符进行分解,缺省

Ubuntu下安装配置防火墙

Ubuntu下安装配置防火墙sudo apt-get install ufw 一般用户,只需如下设置:sudo apt-get install ufw sudo ufw enable sudo ufw default deny 以上三条命令已经足够安全了,如果你需要开放某些服务,再使用sudo ufw allow开启. 启用 sudo ufw enable sudo ufw default deny #运行以上两条命令后,开启了防火墙,并在系统启动时自动开启. #关闭所有外部对本机的访问,但本机

CentOS和Ubuntu下安装配置Greenplum数据库集群(包括安装包和源码编译安装)

http://blog.csdn.net/prettyshuang/article/details/50501904 首先说一下,无论是CentOS/RedHat还是Ubuntu都可以按源码方式.安装包方式编译安装. 1.   规划 192.168.4.93(h93)       1个主master  2个主segment.2个镜像segment 192.168.4.94(h94)       1个备master  2个主segment.2个镜像segment 都安装在/home/wslu/gp