`

我使用的linux rsync命令

 
阅读更多

我希望备份网站的文件,在两台服务器上相同目录下文件达到一致,包括软链接。

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

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

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

-p, --perms 保持文件权限 
-o, --owner 保持文件属主信息 
-g, --group 保持文件属组信息 

 

rsync -a --delete  /src  /dst

 

这里红色大字体提醒:src写斜杠和不写斜杠是不同的,写斜杠的话,认为是把这个目录下所有文件同步到dst目录里面,注意,是目录里面。不写斜杠,才是将目录src同步到dst目录里面。

 

举例:

主机A目录/data/web 和主机B /data/web 要保持完全一致的话,命令如下:

rsync -a --delete  root@xxx.xxx.xxx.xxx:/data/web  /data

强烈推荐这种方法:

rsync -a --delete  root@xxx.xxx.xxx.xxx:/data/web/  /data/web/

因为写了斜线,不会因为误写影响到上级目录,而且如果目标目录不存在也会建立的。

 

如下写法是错误的:

rsync -a --delete  root@xxx.xxx.xxx.xxx:/data/web  /data/web/  这样会同步成/data/web/web

rsync -a --delete  root@xxx.xxx.xxx.xxx:/data/web/  /data/   这样会把/data/web目录中所有文件同步到/data目录下。

总之:src的路径写斜杠代表同步该目录中所有文件,不写则同步该目录。dst目录不是,写斜杠、不写斜杠跟linux一样的解释。

 

 另外说一下:发现这个命令可以用于删除某个目录中所有文件,对于该目录下有数以万计的文件来说,这个命令可以秒删!

rsync --delete-before -a /src /dst

方法:比如要删除/data/tmp中所有文件,但该目录下文件已经20万个了,如果用rm -f的话,就太慢了,而且可能参数太长,无法执行,只能用find /data/tmp --type f | xargs rm -f 的方法先删掉文件再rm -rf /data/tmp

用这个命令,那么:

mkdir /data/tmp_empty

rsync --delete-before -a /data/tmp_empty /data/tmp

即同步一个空目录给tmp目录,这样就能秒删了。

分享到:
评论

相关推荐

    使用Linux的rsync命令实现多服务器镜像同步.doc

    使用 Linux 的 rsync 命令实现多服务器镜像同步 在 Linux 系统中,rsync 命令是实现文件同步和备份的强大工具。rsync 命令可以实现多服务器镜像同步,使得文件在不同服务器之间保持一致。本文将详细介绍使用 rsync ...

    linux rsync命令使用手册

    ### Linux Rsync命令使用手册详解 #### 概述 Rsync 是一款快速且功能极其强大的文件复制工具。它能够实现本地文件复制、通过任何远程Shell(例如 SSH 或 RSH)进行远程主机之间的文件复制,或者与远程 rsync 守护...

    使用Linux的rsync命令实现多服务器镜像同步.docx

    使用 Linux 的 rsync 命令实现多服务器镜像同步 rsync 命令是一种高效的文件同步工具,经常应用于多服务器镜像同步中。通过 rsync 命令,可以实现对文件的实时同步、备份和恢复。以下是使用 rsync 命令实现多服务器...

    linuxrsync安装配置及命令详解.pdf

    Linux rsync 安装配置及命令详解 Linux rsync 安装配置是 Linux 系统中的一种数据同步工具,通过 rsync 命令可以实现文件的同步、备份和恢复。rsync 服务器可以实现文件的实时同步,降低数据丢失的风险。 服务端...

    Linux 命令之rsync命令详解

    **rsync命令详解** `rsync` 是 Linux 系统中的一款强大且高效的文件和目录同步工具,它能够通过局域网(LAN)或广域网(WAN)快速同步多台主机之间的数据。rsync 的核心优势在于其采用的“rsync 算法”,该算法能仅...

    rsync命令详细解答

    ### rsync命令详解 #### 一、概述 `rsync`是Linux系统中一个非常强大的文件同步工具,它能够高效地在本地或者远程之间进行文件和目录的同步操作。相较于传统的`scp`命令,`rsync`具有更快的传输速度,并且支持增量...

    linux 下rsync文件夹同步配置

    3. **启动服务**:使用命令`/usr/local/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf`启动服务。若需自动启动,可在`/etc/rc.d/rc.local`中添加相应启动脚本。 4. **防火墙规则**:编辑`/etc/sysconfig/...

    linux下rsync命令详细整理.docx

    Linux 下 Rsync 命令详细整理 Rsync 是一个功能非常强大的工具,用于实现文件的同步和备份。Rsync 命令有六种不同的工作模式,分别是:拷贝本地文件、使用远程 shell 程序将本地机器的内容拷贝到远程机器、使用远程...

    linux下Rsync+sersync实现文件数据实时同步

    配置Rsync的基本命令格式如下: ```bash rsync [选项] [源] [目的] ``` 例如,同步本地目录到远程服务器: ```bash rsync -avz --delete /local/directory user@remote_host:/remote/directory ``` **Sersync** ...

    linux-DuplexRsync使用rsync和fswatch进行DropBoxGoogleDrive风格的双向同步

    “Linux-DuplexRsync使用rsync和fswatch进行DropBoxGoogleDrive风格的双向同步”这个标题表明我们正在讨论一个Linux工具,名为DuplexRsync,它利用了rsync和fswatch这两个开源工具来实现类似于DropBox和GoogleDrive...

    linux rsync同步命令(值得收藏)

    说到“同步”,不得不提的利器就是rsync,今天就来说说我从这个工具中看到的同步的艺术。 [不带任何选项] 我们经常这样使用rsync: 代码如下: $ rsync main.c machineB:/home/userB 1 只要目的端的文件内容和源端...

    linux命令rsync.txt

    根据提供的文件信息,“linux命令rsync.txt”,我们可以深入探讨rsync命令的相关知识点,包括其基本用法、常用选项以及实际应用场景等。 ### rsync 命令简介 rsync(remote sync)是一款在Linux系统中非常强大的...

    linux rsync 客户端与服务端配置说明

    4. **启动rsync服务器**:执行`rsync --daemon`命令启动rsync服务,或者在系统服务管理中设置开机启动。 5. **防火墙设置**:确保开放rsync使用的端口(默认为873),允许必要的IP地址访问。 rsync客户端的使用方法...

    Linux下rsync安装配置使用教程.doc

    1. **安装rsync**:通过`rpm -q rsync`命令来查询rsync是否已经安装,如果没有,则需要使用`yum install rsync`或`rpm -ivh rsync_xxx.rpm`进行安装。 2. **配置rsyncd.conf**:rsync的主要配置文件是`/etc/rsyncd....

Global site tag (gtag.js) - Google Analytics