linux rsync安装,linux命令修改文件

Linux中使用数据备份同步工具Rsync的实例教程

对于运维人员来说,数据备份是最重要的工作之一,rsync就是一款通过网络备份重要数据的工具/软件。

Rsync同样是一个在类Unix和Window系统上通过网络在系统间同步文件夹和文件的网络协议,它可以复制或者显示目录并复制文件。rsync默认监听TCP 873端口,通过远程shell如rsh和ssh复制文件。同时要求必须在远程和本地系统上都安装sync。

Linux上如果没有安装,装起来也很简单:

复制代码

代码如下:

# sudo apt-get install rsync#在debian、ubuntu等在线安装方法;

# yum install rsync#Fedora、Redhat等在线安装方法;

# rpm-ivh rsync#Fedora、Redhat等rpm包安装方法;

rsync的主要优点是:

速度:最初会在本地和远程之间拷贝所有内容。下次,只会传输发生改变的块或者字节。

安全:传输可以通过ssh协议加密数据。

低带宽:rsync可以在两端压缩和解压数据块。

sync命令语法:

复制代码

代码如下:

#rsysnc [options] source path destination path

以下将根据sync的参数和应用场景来给大家介绍具体的用法:

示例: 1-启用压缩

复制代码

代码如下:

[root@localhost/]# rsync-zvr/home/aloft//backuphomedir

building file list... done

.bash_logout

.bash_profile

.bashrc

sent 472 bytes received 86 bytes 1116.00 bytes/sec

total size is 324 speedup is 0.58

上面的rsync命令使用了-z来启用压缩,-v是可视化,-r是递归。上面在本地的/home/aloft/和/backuphomedir之间同步。

示例: 2-保留文件和文件夹的属性

复制代码

代码如下:

[root@localhost/]# rsync-azvr/home/aloft//backuphomedir

building file list... done

./

.bash_logout

.bash_profile

.bashrc

sent 514 bytes received 92 bytes 1212.00 bytes/sec

total size is 324 speedup is 0.53

上面我们使用了-a选项,它保留了所有人和所属组、时间戳、软链接、权限,并以递归模式运行。

示例: 3-同步本地到远程主机

复制代码

代码如下:

root@localhost/]# rsync-avz/home/aloft/ azmath@192.168.1.4:192.168.1.4:/share/rsysnctest/

Password:

building file list... done

./

.bash_logout

.bash_profile

.bashrc

sent 514 bytes received 92 bytes 1212.00 bytes/sec

total size is 324 speedup is 0.53

上面的命令允许你在本地和远程机器之间同步。你可以看到,在同步文件到另一个系统时提示你输入密码。在做远程同步时,你需要指定远程系统的用户名和IP或者主机名。

示例: 4-远程同步到本地

复制代码

代码如下:

[root@localhost/]# rsync-avz azmath@192.168.1.4:192.168.1.4:/share/rsysnctest//home/aloft/

Password:

building file list... done

./

.bash_logout

.bash_profile

.bashrc

sent 514 bytes received 92 bytes 1212.00 bytes/sec

total size is 324 speedup is 0.53

上面的命令同步远程文件到本地。

示例: 5-找出文件间的不同

复制代码

代码如下:

[root@localhost backuphomedir]# rsync-avzi/backuphomedir/home/aloft/

building file list... done

cd+++++++ backuphomedir/

f+++++++ backuphomedir/.bash_logout

f+++++++ backuphomedir/.bash_profile

f+++++++ backuphomedir/.bashrc

f+++++++ backuphomedir/abc

f+++++++ backuphomedir/xyz

sent 650 bytes received 136 bytes 1572.00 bytes/sec

total size is 324 speedup is 0.41

上面的命令帮助你找出源地址和目标地址之间文件或者目录的不同。

示例: 6-备份

rsync命令可以用来备份linux。

你可以在cron中使用rsync安排备份。

复制代码

代码如下:

0 0***/usr/local/sbin/bkpscript/dev/null

vi/usr/local/sbin/bkpscript

rsync-avz-e ssh-p2093/home/test/ root@192.168.1.150:/oracle/data/

rsync增量传输大文件优化技巧:

问题:

rsync用来同步数据非常的好用,特别是增量同步。但是有一种情况如果不增加特定的参数就不是很好用了。比如你要同步多个几十个G的文件,然后网络突然断开了一下,这时候你重新启动增量同步。但是发现等了好久都没有进行数据传输,倒是机器的IO一直居高不下。

原因:

rsync具体的增量同步算法不太清楚。根据它的表现来看,可能在增量同步已经存在的一个文件时,会校验已传输部分数据是否已源文件一致,校验完成才继续增量同步这个文件剩下的数据。所以如果对一个大文件以这样的算法来增量同步是非常花时间并且占用IO资源的。

方法:

半夜花了一个多小时查看了rsync的文档,发现有一个参数能快速恢复大文件的增量同步,append。设置append参数会在增量同步时计算文件大小并直接追加新的数据到文件,这样就省了费IO校验的过程。不过这个参数最好只在源文件和目标文件都不会更改的时候使用比较安全,比如备份的文件。

Linux下配置Rsync实现文件同步linux配置rsync

Rsync是一款开源的、令人难以置信的高效的文件同步工具,使用它可以实现本地或者分布式的文件夹、文件同步。在Linux系统下,配置Rsync可以非常容易地实现文件同步。

本文给出在Linux系统下配置Rsync实现文件同步的步骤。

首先,安装rsync服务器,如果你的系统是Debian或者Ubunut,你可以使用如下命令安装rsync服务器。

sudo apt-get install rsync

接下来,创建帐户和组。这里你可以使用任意一个组名,但要注意这个帐户应该只是用来做文件同步,而不应该是可登录帐户,以免有安全隐患。

sudo groupadd rsync_group

sudo useradd rsync-g rsync_group

接下来,你需要给次帐户设置密码,以确保文件同步的安全性。

sudo passwd rsync

输入两次密码即可设置完毕密码。

之后,你还需要配置发布文件系统的访问许可。在Linux系统下,修改/etc/exports文件来发布文件系统。

/export*(rw,sync)

其中/export是需要发布的文件夹路径,rw表示读写权限,sync表示在文件发布完成之后同步到硬盘。最后,我们可以使用如下命令更新文件。

exportfs-ar

最后,你可以使用如下命令发起链接,以实现文件同步。

rsync-az/export/ rsync_user@11.11.11.11::share

其中/export是需要发布的文件夹路径,11.11.11.11是主机IP地址,share是共享文件夹名字, rsync_user是在上面创建的用户名。

以上就是在Linux系统下配置Rsync实现文件同步的步骤。我们可以发现这是一个简单的过程,只要熟悉Linux,就可以快速配置实现文件同步。

linux rsync 怎么重启

rsync的命令格式可以为:

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

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

3. rsync [OPTION]... SRC [SRC]... DEST

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

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

6. rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

rsync有六种不同的工作模式:

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

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

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

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

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

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

-a以archive模式操作、复制目录、符号连接相当于-rlptgoD

rsync中的参数

-r是递归

-l是链接文件,意思是拷贝链接文件;-p表示保持文件原有权限;-t保持文件原有时间;-g保持文件原有用户组;-o保持文件原有属主;-D相当于块设备文件;

-z传输时压缩;

-P传输进度;

-v传输时的进度等信息,和-P有点关系,自己试试。可以看文档;

-e ssh的参数建立起加密的连接。

-u只进行更新,防止本地新文件被重写,注意两者机器的时钟的同时

--progress是指显示出详细的进度情况

--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致

--password-file=/password/path/file来指定密码文件,这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。

B、一些实例

B1、列出rsync服务器上的所提供的同步内容;

首先:我们看看rsync服务器上提供了哪些可用的数据源

# rsync--list-only root@192.168.145.5::

++++++++++++++++++++++++++++++++++++++++++++++

Welcome to use the mike.org.cn rsync services!

2002------2009

++++++++++++++++++++++++++++++++++++++++++++++

rhel4home This is RHEL 4 data

注:前面是rsync所提供的数据源,也就是我们在rsyncd.conf中所写的[rhel4home]模块。而“This is RHEL 4 data”是由[rhel4home]模块中的 comment= This is RHEL 4 data提供的;为什么没有把rhel4opt数据源列出来呢?因为我们在[rhel4opt]中已经把list=no了。

阅读剩余
THE END