|
|
第1行: |
第1行: |
| | | |
− | Rsync is a fast and extraordinarily versatile file copying tool.
| + | delete 为了保持target与souce完全同步,Lsyncd默认会delete = true来允许同步删除。它除了false,还有startup、running值,请参考 [ Lsyncd 2.1.x ‖ Layer 4 Config ‖ Default Behavior] |
− | =fun options=
| |
− | <pre>指定key
| |
− | -e, --rsh=COMMAND specify the remote shell to use 指定使用rsh、ssh方式进行数据同步
| |
| | | |
− | rsync -avzP -e "ssh -p22 -i /data/tmp/evan/www_id_rsa " [email protected]:/data/www/html_s0/ /data/www/html_s0/ | |
| | | |
− | --bwlimit=RATE #可以 m 还可以 是小数哦
| |
− | This option allows you to specify the maximum transfer rate for the data sent over the socket, specified in units per second. The RATE value can be suf‐
| |
− | fixed with a string to indicate a size multiplier, and may be a fractional value (e.g. "--bwlimit=1.5m"). If no suffix is specified, the value will be
| |
− | assumed to be in units of 1024 bytes (as if "K" or "KiB" had been appended). See the --max-size option for a description of all the available suffixes.
| |
− | A value of zero specifies no limit.(此选项允许您指定通过套接字发送的数据的最大传输速率(以每秒单位为单位)。速率值可以用字符串来表示大小乘数,并且可以是小数值(例如“-bwLimited=1.5m”)。
| |
− | 如果没有指定后缀,则假定该值以1024字节为单位(仿佛“K”或“Kib”已被追加)。有关所有可用后缀的描述,请参见-max-size选项。零值指定无限制。)
| |
| | | |
| | | |
− | rsync 不能创建远程二级目录
| + | =see also= |
− | [ evan@bsd-latop ~/ lx/ evanstack]$ rsync -avz --progress src/ [email protected]. 1. 57:/home/tmp/src/ | + | [https://www.cnblogs.com/zxci/p/6243574.html lsyncd 实时同步] |
− | sending incremental file list
| |
− | rsync: mkdir "/home/tmp/src" failed: No such file or directory (2)
| |
− | rsync error: error in file IO (code 11) at main.c(657) [Receiver=3.1.2]
| |
| | | |
− | 没有 /home/tmp 目录
| + | [[category:ops]] |
− | </pre>
| |
− | <pre>-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 显示帮助信息
| |
− | </pre>
| |
− | | |
− | =rsync命令排除文件和文件夹=
| |
− | ==排除一两个文件==
| |
− | <pre>
| |
− | #排除 ~/.xmonad/ 目录下的 ld.lld.core 和xmonad-x86_64-freebsd 文件
| |
− | rsync -avz ~/.xmonad/ --exclude='ld.lld.core' --exclude='xmonad-x86_64-freebsd' ~/github/myxmonad/4bsd/2020/
| |
− | | |
− | </pre>
| |
− | | |
− | | |
− | | |
− | ==使用 '--exclude-from' 排除多个文件夹和文件 ==
| |
− | <pre>
| |
− | 建立文件:
| |
− | /home/backup/exclude.txt
| |
− | | |
− | 在里面定义要排除的文件夹和文件
| |
− | sources
| |
− | public_html/database.*
| |
− | downloads/test/*
| |
− | | |
− | 经过测试一般
| |
− | 文件夹
| |
− | uploads
| |
− | download/softs/
| |
− | | |
− | 使用指令:
| |
− | --exclude-from '/home/backup/exclude.txt'
| |
− | | |
− | 最后的命令如下:
| |
− | rsync -e 'ssh -p 30000' -avl --delete --stats --progress --exclude-from '/home/backup/exclude.txt' [email protected]:/home/demo /backup/ | |
− | | |
− | </pre>
| |
− | ==[[Lsyncd]]默认是有delete参数的==
| |
− | | |
− | =rsync如何实现同步目标路径下的目录,不同步路径下的文件 ,只想同步目录 =
| |
− | | |
− | rsync -av --delete -f '+ */' -f '- *' SRC/ DEST/
| |
− | | |
− | | |
− | | |
− | | |
− | | |
− | [http://blog.sina.com.cn/s/blog_4a0c5e830100ogzt.html http://blog.sina.com.cn/s/blog_4a0c5e830100ogzt.html]
| |
− | | |
− | | |
− | | |
− | | |
− | | |
− | | |
− | [[Category:shell]] [[category:ops]]
| |