参考文献

rsync

  • rsync用于在两个远程计算机之间同步文件和文件夹.它仅通过传输源和目标之间的差异来提供快速的增量文件传输.
  • rsync可用于镜像数据,增量备份,在系统之间复制文件,可替代scp,sftpcp日常等使用的命令.

用法

  • rsync语法有三种,分别是本地到本地形式Local to Local,本地到远程Local to Remote,远程到本地Remote to Local

    1
    2
    3
    Local to Local:  rsync [OPTION]... [SRC]... DEST
    Local to Remote: rsync [OPTION]... [SRC]... [USER@]HOST:DEST
    Remote to Local: rsync [OPTION]... [USER@]HOST:SRC... [DEST]
    • -a/--archive存档模式,等效于-rlptgoD.此选项指示rsync递归同步目录,传输特殊设备和块设备,保留符号链接,组,所有权和权限等.

    • -z/--compress,此选项将强制rsync在数据发送给目标计算机之前对数据进行压缩.

    • -P等效于--partial --progress.使用此选项时,rsync将在传输过程中显示进度条并保留部分传输的文件.在慢速或不稳定的网络连接传输大文件时非常有用.

    • --delete使用此选项时,rsync将从目标位置删除相同的文件.适合用于镜像文件.

    • -q/--quiet此选项禁止显示非错误消息.-e此选项使您可以选择其他远程shell程序.默认使用ssh.

    • 在增量复制或者备份时,强烈建议使用-t选项,该选项用与保持文件的mtime 属性不变.mtime 是文件的修改时间.

      • 如果没有指定-t选项时,目标文件mtime 属性会设置为系统时间,导致下次更新检测到mtime 不同,从而导致增量更新无效.
    • 通常你可能还需要显示rsync同步过程的详细信息,使用-v选项.确认是否正确实现增量同步.

    1
    rsync -avtP --log-file=rsync.log /opt/media/ remote_user@remote_host_or_ip:/opt/media/