logo
YourData+
玉东数据
首页应用解决方案协作MUI-Remix博客
登录

YourData's blog

rsync

开始

sudo yum install rsync
rsync -avz -e "ssh -i ~/mykey.pem" ./dist/* user@202.100.100.100:/mnt/website/

常用参数

  • -a 参数可以替代-r,除了可以递归同步以外,还可以同步元信息(比如修改时间、权限等)。由于 rsync 默认使用文件大小和修改时间决定文件是否需要更新,所以-a 比-r 更有用。
  • -n 参数模拟将要执行的操作,而并不真的执行。配合-v 参数使用,可以看到哪些内容会被同步过去。
  • --delete 参数: 默认情况下,rsync 只确保源目录的所有内容(明确排除的文件除外)都复制到目标目录。它不会使两个目录保持相同,并且不会删除文件。如果要使得目标目录成为源目录的镜像副本,则必须使用--delete 参数,这将删除只存在于目标目录、不存在于源目录的文件。
  • -i 参数表示输出源目录与目标目录之间文件差异的详细情况。
  • --partial 参数允许恢复中断的传输
  • -u、--update 参数表示同步时跳过目标目录中修改时间更新的文件,即不同步这些有更新的时间戳的文件。
  • -v 参数表示输出细节。-vv 表示输出更详细的信息,-vvv 表示输出最详细的信息。
  • -z 参数指定同步时压缩数据。
  • -e 参数指定所要执行的 SSH 命令

排除文件

# 文件:
$ rsync -av --exclude='*.txt' source/ destination
# 或
$ rsync -av --exclude '*.txt' source/ destination
# 如果要排除某个目录里面的所有文件,但不希望排除目录本身
$ rsync -av --exclude 'dir1/*' source/ destination
# 多个排除
$ rsync -av --exclude 'file1.txt' --exclude 'dir1/*' source/ destination
# 或 每个模式一行,然后用--exclude-from参数指定这个文件
$ rsync -av --exclude-from='exclude-file.txt' source/ destination
# --include参数用来指定必须同步的文件模式,往往与--exclude结合使用
$ rsync -av --include="*.txt" --exclude='*' source/ destination
孙玉微信号: sunly-

玉东数据是一家专注于互联网应用开发的企业,由从业多年的技术专家组成,在应用开发、网络运维等方面有广泛的经验和实力。

技术涵盖最新的 Web、小程序、Flutter、Android、iOS等多个领域的前沿技术。

商务合作,请微信扫码联系我:

18919890888微信同号
陇ICP备2021001826号