rsync 的使用
背景
一.前言
最近发现rsync挺好用的……不过参数有点多,所以这儿写一篇给自己以后要用的时候做个参考。
二.参数说明
这儿全是我翻资料连蒙带猜(有些实在是不好解释)翻译出来的,请各位转载的留个名啊,虽然不是多高端的,但是也贼烦
①.daemon(服务端)模式:
用途: rsync --daemon [选项]...
选项
--address=ADDRESS 绑定到指定的地址
--bwlimit=RATE 限制套接字I/O带宽
--config=FILE 不使用默认位置的rsyncd.conf文件,额外指定
-M, --dparam=OVERRIDE 覆盖全局守护进程配置参数
--no-detach 不要进行fork并后台运行
--port=PORT 监听指定的端口
--log-file=FILE 输出日志到指定文件
--log-file-format=FMT 用指定格式更新日志
--sockopts=OPTIONS 指定自定义的TCP选项
-v, --verbose 详细模式输出
-4, --ipv4 偏向于使用IPv4
-6, --ipv6 偏向于使用IPv6
--help 显示帮助信息
②.普通(客户端)模式:
用途: rsync [OPTION]... SRC [SRC]... DEST
通过远程shell访问方式:
rsync [选项]... [用户名@]HOST:SRC [DEST]
rsync [选项]... SRC [SRC]... [用户名@]HOST:DEST
通过rsync daemon访问方式:
rsync [选项]... [用户名@]HOST::SRC [DEST]
rsync [选项]... SRC [SRC]... [用户名@]HOST::DEST
rsync [选项]... SRC [SRC]... rsync://[用户名@]HOST[:PORT]/DEST
rsync [选项]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
请注意,':'会使用ssh来远程连接,而'::'以及'rsync://'则用于以tcp方式连接一个rsync daemon服务器,这个需要SRC(源),以及包含模块名字的DEST(目的)
选项
-v, --verbose 详细模式输出
--info=FLAGS 输出INFO级别
--debug=FLAGS 输出DEBUG级别
--msgs2stderr 用于调试的特殊输出处理
-q, --quiet 忽略非error的输出
--no-motd 忽略Daemon模式的MOTD
-c, --checksum 让自动跳过基于校验和而非默认的修改时间以及文件大小
-a, --archive 归档(压缩)模式,表示以递归方式传输文件,并保持所有文件属性等同于-rlptgoD(无 -H,-A,-X)
--no-OPTION 关闭隐含的选项(例如 --no-D)
-r, --recursive 对子目录以递归模式处理
-R, --relative 使用相对路径信息
--no-implied-dirs 不使用--relative发送隐含的目录
-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename.可以使用--suffix选项来指定不同的备份文件前缀
--backup-dir=DIR 将备份文件(如~filename)存放在指定目录下
--suffix=SUFFIX 定义备份文件前缀,默认是~
-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件(不覆盖更新的文件)
--inplace update destination files in-place (SEE MAN PAGE)
--append 将数据附加到较短的文件
--append-verify 类似--append,但是对旧数据会计算校验和
-d, --dirs 不使用递归传输目录
-l, --links 不处理符号链接(保留符号链接)
-L, --copy-links 将符号链接处理为具体的文件或者文件夹
--copy-unsafe-links 只处理不安全的符号链接
--safe-links 忽略不在SRC源目录的符号链接
--munge-links munge符号链接使它们更安全(但会无法使用)
-k, --copy-dirlinks 把指向文件夹的符号链接转换为文件夹
-K, --keep-dirlinks 把接收端的指向文件夹的符号链接当做文件夹
-H, --hard-links 保留硬链接
-p, --perms 保留权限
-E, --executability 保留文件的可执行属性
--chmod=CHMOD 影响文件或文件夹的属性
-A, --acls 保留ACLs (代表--perms)
-X, --xattrs 保留扩展属性
-o, --owner 保留所有者(仅限superuser)
-g, --group 保留组
--devices 保留设备文件(仅限superuser)
--copy-devices 把设备文件内容当做文件一样进行复制处理
--specials 保留特殊文件
-D 和--devices --specials一样
-t, --times 保留修改时间
-O, --omit-dir-times 忽略文件夹的修改时间
-J, --omit-link-times 忽略符号链接的修改时间
--super 接收端尝试使用superuser进行操作
--fake-super 使用xattrs来存储和恢复权限属性
-S, --sparse 对稀疏文件进行特殊处理以节省空间
--preallocate 在写入前预分配DST文件
-n, --dry-run 执行一个没有实际更改的试运行,只会显示文件会被如何操作
-W, --whole-file 拷贝文件,不进行增量检测
-x, --one-file-system 不要跨越文件系统边界
-B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节
-e, --rsh=COMMAND 指定使用rsh,ssh方式进行数据同步
--rsync-path=PROGRAM 指定远程服务器上的rsync命令所在路径
--existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件
--ignore-existing 跳过更新已存在于DST的文件
--remove-source-files 发送方删除非文件夹的源文件
--del --delete-during的一个alias
--delete 删除那些DST中SRC没有的文件
--delete-before 传输前删除,而非传输过程中
--delete-during 在传输过程中删除
--delete-delay 在传输过程中确定要删除的,在传输结束后进行删除
--delete-after 在传输结束后删除,而非传输过程中
--delete-excluded 同样删除接收端那些被该选项指定排除的文件
--ignore-missing-args 忽略丢失的源参数不输出错误
--delete-missing-args 从DEST删除丢失的源参数
--ignore-errors 即使出现I/O错误也进行删除
--force 即使文件夹非空也强制删除
--max-delete=NUM 不删除超过指定数量的文件
--max-size=SIZE 不传输超过指定大小的文件
--min-size=SIZE 不传输小于指定大小的文件
--partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输(即断点续传)
--partial-dir=DIR 将因故没有完全传输的文件放到指定文件夹
--delay-updates 在传输末尾把所有更新的文件放到位
-m, --prune-empty-dirs 从文件列表中删除空目录链
--numeric-ids 不要把uid/gid值映射为用户/组名
--usermap=STRING 自定义用户名映射
--groupmap=STRING 自定义组名映射
--chown=USER:GROUP 简单的用户/组名映射
--timeout=SECONDS 设置I/O超时,单位为秒
--contimeout=SECONDS 设置Daemon连接超时,单位为秒
-I, --ignore-times 不跳过那些有同样的时间和大小的文件
-M, --remote-option=OPTION 只把指定选项发送到远端
--size-only 只跳过大小相同的文件
--modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0
-T, --temp-dir=DIR 在指定文件夹中创建临时文件
-y, --fuzzy 如果DEST没有任何文件,查找类似的文件
--compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份
--copy-dest=DIR 和上面的类似,但是还会复制指定文件夹中的没有改变的文件
--link-dest=DIR 和上面类似,只是没有改变的文件会被硬链接到DST
-z, --compress 在传输过程中进行压缩
--compress-level=NUM 指定压缩级别0-9,默认为6
--skip-compress=LIST 跳过压缩文件后缀在指定列表中的文件
-C, --cvs-exclude 自动跳过CVS的生成文件
-f, --filter=RULE 添加一个文件过滤规则
-F 等于--filter='dir-merge /.rsync-filter'
重复的: --filter='- .rsync-filter'
--exclude=PATTERN 排除符合匹配规则的文件
--exclude-from=FILE 从指定文件中读取需要排除的文件
--include=PATTERN 包含(不排除)符合匹配规则的文件
--include-from=FILE 从指定文件中读取需要包含(不排除)的文件
--files-from=FILE 从指定文件中读取SRC源文件列表
-0, --from0 从文件中读取的文件名以'\0'终止
-s, --protect-args 没有空格分隔;只有通配符的特殊字符
--address=ADDRESS 绑定到指定的地址
--port=PORT 指定其他的rsync服务端口
--sockopts=OPTIONS 指定自定义的TCP选项
--blocking-io 对远程shell使用阻塞IO
--stats 提供某些文件的传输状态
-8, --8-bit-output 在输出中留下高比特的字符
-h, --human-readable 用人类可读的格式输出数字
--progress 在传输过程中显示进度
-P 等同于--partial --progress
-i, --itemize-changes 输出对所有更新的变更摘要
--out-format=FORMAT 用指定格式输出更新
--log-file=FILE 将日志保存到指定文件
--log-file-format=FMT 用指定格式更新日志
--password-file=FILE 从文件读取Daemon服务器密码
--list-only 不复制而是只列出
--bwlimit=RATE 限制套接字I/O带宽
--outbuf=N|L|B 设置输出缓冲,为None,Line或者Block
--write-batch=FILE 写入批量更新到指定文件
--only-write-batch=FILE 和上面类似,但是对DST进行只写的更新
--read-batch=FILE 从指定文件读取一个批量更新
--protocol=NUM 强制使用指定的老版本协议
--iconv=CONVERT_SPEC 对文件名进行字符编码转换
--checksum-seed=NUM 设置块/文件的校验和种子
-4, --ipv4 偏向于使用IPv4
-6, --ipv6 偏向于使用IPv6
--version 打印版本号
(-h) --help 显示帮助信息
三.服务端配置
服务端配置文件默认位置/etc/rsyncd.conf
分为两块,最开头的是全局参数,部分可以由daemon进程运行参数覆盖,如下
参数 | 说明 | 默认值 |
---|---|---|
address | 在独立运行时,用于指定的服务器运行的 IP 地址。由 xinetd 运行时将忽略此参数,使用命令行上的 –address 选项替代。 | 本地所有IP |
port | 指定 rsync 守护进程监听的端口号。 由 xinetd 运行时将忽略此参数,使用命令行上的–port 选项替代。 | 873 |
motd file | 指定一个消息文件,当客户连接服务器时该文件的内容显示给客户。 | 无 |
pid file | rsync 的守护进程将其 PID 写入指定的文件。 | 无 |
log file | 指定 rsync 守护进程的日志文件,而不将日志发送给 syslog。 | 无 |
syslog facility | 指定 rsync 发送日志消息给 syslog 时的消息级别。 | daemon |
socket options | 指定自定义 TCP 选项。 | 无 |
另外的就是模块参数了
1.基础参数
参数 | 说明 | 默认值 |
---|---|---|
path | 指定当前模块在 rsync 服务器上的同步路径,该参数是必须指定的。 | 无 |
comment | 给模块指定一个描述,该描述连同模块名在客户连接得到模块列表时显示给客户。 | 无 |
2.控制参数
参数 | 说明 | 默认值 |
---|---|---|
use chroot | 若为 true,则 rsync 在传输文件之前首先 chroot 到 path 参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要 root 权限,并且不能备份指向 path 外部的符号连接所指向的目录文件。 | true |
uid | 指定该模块以指定的 UID 传输文件。 | nobody |
gid | 指定该模块以指定的 GID 传输文件。 | nobody |
max connections | 指定该模块的最大并发连接数量以保护服务器,超过限制的连接请求将被告知随后再试。 | 0(没有限制) |
lock file | 指定支持 max connections 参数的锁文件。 | /var/run/rsyncd.lock |
list | 指定当客户请求列出可以使用的模块列表时,该模块是否应该被列出。如果设置该选项为 false,可以创建隐藏的模块。 | true |
read only | 指定是否允许客户上传文件。若为 true 则不允许上传;若为 false 并且服务器目录也具有读写权限则允许上传。 | true |
write only | 指定是否允许客户下载文件。若为 true 则不允许下载;若为 false 并且服务器目录也具有读权限则允许下载。 | false |
ignore errors | 指定 在 rsync 服务器上运行 delete 操作时是否忽略 I/O 错误。一般来说 rsync 在出现 I/O 错误时将将跳过 –delete 操作,以防止因为暂时的资源不足或其它 I/O 错误导致的严重问题。 | true |
ignore nonreadable | 指定 rysnc 服务器完全忽略那些用户没有访问权限的文件。这对于在需要备份的目录中有些不应该被备份者获得的文件时是有意义的。 | false |
timeout | 该选项可以覆盖客户指定的 IP 超时时间。从而确保 rsync 服务器不会永远等待一个崩溃的客户端。对于匿名 rsync 服务器来说,理想的数字是 600(单位为秒)。 | 0 (未限制) |
dont compress | 用来指定那些在传输之前不进行压缩处理的文件。该选项可以定义一些不允许客户对该模块使用的命令选项列表。必须使用选项全名,而不能是简称。当发生拒绝某个选项的情况时,服务器将报告错误信息然后退出。例如,要防止使用压缩,应该是:”dont compress = *”。 | *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz |
3.文件过滤参数
参数 | 说明 | 默认值 |
---|---|---|
exclude | 指定多个由空格隔开的多个文件或目录(相对路径),并将其添加到 exclude 列表中。这等同于在客户端命令中使用 –exclude 来指定模式。 | 空 |
exclude from | 指定一个包含 exclude 规则定义的文件名,服务器从该文件中读取 exclude 列表定义。 | 空 |
include | 指定多个由空格隔开的多个文件或目录(相对路径),并将其添加到 include 列表中。这等同于在客户端命令中使用 –include 来指定模式 。 | 空 |
include from | 指定一个包含 include 规则定义的文件名,服务器从该文件中读取 include 列表定义。 | 空 |
- 一个模块只能指定一个 exclude 参数、一个 include 参数。
- 结合 include 和 exclude 可以定义复杂的 exclude/include 规则 。
- 这几个参数分别与相应的 rsync 客户命令选项等价,唯一不同的是它们作用在服务器端。
4.用户认证参数
参数 | 说明 | 默认值 |
---|---|---|
auth users | 指定由空格或逗号分隔的用户名列表,只有这些用户才允许连接该模块。这里的用户和系统用户没有任何关系。用户名和口令以明文方式存放在 secrets file 参数指定的文件中。 | (匿名方式) |
secrets file | 指定一个 rsync 认证口令文件。只有在 auth users 被定义时,该文件才起作用。 | 空 |
strict modes | 指定是否监测口令文件的权限。若为 true 则口令文件只能被 rsync 服务器运行身份的用户访问,其他任何用户不可以访问该文件。 | true |
- rsync 认证口令文件的权限一定是 600,否则客户端将不能连接服务器。
- rsync 认证口令文件中每一行指定一个"用户名:口令"对,格式为:
# 以 "#" 开始的行为注释行 username:passwd # 一般来说口令最好不要超过8个字符。
123 | # 以 "#" 开始的行为注释行username:passwd# 一般来说口令最好不要超过8个字符。 |
---|---|
5.访问控制参数
参数 | 说明 | 默认值 |
---|---|---|
hosts allow | 用一个主机列表指定哪些主机客户允许连接该模块。不匹配主机列表的主机将被拒绝。 | * |
hosts deny | 用一个主机列表指定哪些主机客户不允许连接该模块。 | 空 |
客户主机列表定义可以是以下形式:
- 单个IP地址。例如:192.168.0.1
- 整个网段。例如:192.168.0.0/24,192.168.0.0/255.255.255.0
- 可解析的单个主机名。例如:centos,centos.smartraining.cn
- 域内的所有主机。例如:*.smartraining.cn
- “*”则表示所有。
- 多个列表项要用空格间隔。
6.日志参数
参数 | 说明 | 默认值 |
---|---|---|
transfer logging | 使 rsync 服务器将传输操作记录到传输日志文件。 | false |
log format | 指定传输日志文件的字段。 | ”%o %h [%a] %m (%u) %f %l” |
设置了”log file”参数时,在日志每行的开始会添加”%t [%p]“。
- 可以使用的日志格式定义符如下所示:
- %a - 远程IP地址
- %h - 远程主机名
- %l - 文件长度字符数
- %p - 该次 rsync 会话的 PID
- %o - 操作类型:”send” 或 “recv”
- %f - 文件名
- %P - 模块路径
- %m - 模块名
- %t - 当前时间
- %u - 认证的用户名(匿名时是 null)
- %b - 实际传输的字节数
- %c - 当发送文件时,记录该文件的校验码
这部分是网上看得,实在懒得翻译man了,具体来源完全不知道,我看到那位仁兄也是转载来的……
这儿拿我前一篇文章写的举个栗子方便解释
cat >/etc/rsyncd.conf<<'EOF'
#指定传输文件时守护进程具有的用户ID,这里表示默认为nobady
uid=nobady
#指定传输文件时守护进程具有的用户组ID,这里表示默认为nobady
gid=nobody
#禁止切换目录
use chroot=no
#客户端的最大连接数
max connection=10
#检查口令文件的权限,口令文件的权限用户属组必须是root,权限必须是600
strict modes=yes
#pid文件的位置
pid file=/var/run/rsyncd.pid
#lock文件的位置
lock file=/var/run/rsyncd.lock
#日志文件的位置
log file=/var/log/rsyncd.log
#定义模块名,这玩意就是客户端命令跟在IP后面的,作为DST的一部分
[plex]
#指定这个模块需要同步的路径,或者说作为base目录
path=/home/plex/movie
#这个是注释 可以自己定义
comment=plex library
#忽略一些无关的IO错误
ignore errors
#no代表客户端可以上传文件,yes表示只读取
read only=no
#no表示客户端可以下载文件,yes表示不能下载
write only=no
#表示允许连接的主机地址
hosts allow=1.2.3.4
#表示不允许连接的主机地址
hosts deny=*
#不允许该模块被客户端列出
list=false
#指定传输文件时守护进程具有的用户ID,
uid=root
#指定传输文件时守护进程具有的用户组ID,
gid=root
#用来指定连接该模块的用户名,用户名可以自定义,这个是客户端命令跟在IP前面那个
auth users=plex
#指定密码文件,文件里面记录的是用户名:密码
secrets file=/etc/srs.pass
EOF
echo "用户名:密码" >/etc/srs.pass
#权限必须600,不然GG
chmod 600 /etc/srs.pass
#开机启动
echo "rsync --daemon --config=/etc/rsyncd.conf" >>/etc/rc.local
#立即运行服务端,其实这儿的配置文件位置就是默认的,可以不加--config
rsync --daemon --config=/etc/rsyncd.conf
四.客户端命令
如果配置了密码,请务必先丢个密码文件,然后保证它的权限为600
echo "密码" >/etc/rsyncd.pass
chmod 600 /etc/rsyncd.pass
这样能列出服务端可同步的文件(如果搞单向同步你肯定就用不着这个了
rsync --list-only --password-file=/etc/rsyncd.pass plex@1.2.3.4::plex
rsync --list-only --password-file=/etc/rsyncd.pass rsync://plex@1.2.3.4/plex
然后手动同步我们可以这样(当然手动是可以不指定password-file的,反正会提示你输密码,如果写到脚本或者crontab里就必须带上了)
rsync -avzP --delete --exclude "*.torrent" /home/complete/ plex@1.2.3.4::plex
rsync -avzP --delete /home/complete/ rsync://plex@1.2.3.4/plex
敲黑板,P参数是给你看着玩的,不然鬼知道同步到啥程度了,写脚本里就别带了,单向传输脚本里如果要那个断点续传请自己做好命令返回状态的判断,因为单向传输是一次性的,如果是同步就没必要了,毕竟你会隔阵子就运行
z是压缩,如果你cpu不行或者需要降低资源消耗,可以带上--compress-level来减小下压缩率,0-9哦,从低到高资源消耗越来越大,当然你也可以不压缩,文本内容我觉得开个1或者2就很给力了
五.常见错误
问题一:
@ERROR: chroot failed
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因:
服务器端的目录不存在或无权限,创建目录并修正权限可解决问题
问题二:
@ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因:
服务器端该模块(backup)需要验证用户名密码,但客户端没有提供正确的用户名密码,认证失败
提供正确的用户名密码解决此问题
问题三:
@ERROR: Unknown module ‘backup'
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因:
服务器不存在指定模块。提供正确的模块名或在服务器端修改成你要的模块以解决问题
问题四:
password file must not beother-accessible
continuing without password file
Password:
原因:
这是因为rsyncd.pwd rsyncd.secrets的权限不对,应该设置为600。如:chmod 600 rsyncd.pwd
问题五:
rsync: failed to connect to218.107.243.2: No route to host (113)
rsync error: error in socket IO(code 10) at clientserver.c(104) [receiver=2.6.9]
原因:
对方没开机、防火墙阻挡、通过的网络上有防火墙阻挡,都有可能。关闭防火墙,其实就是把tcp udp的873端口打开
问题六:
rsync error: error startingclient-server protocol (code 5) at main.c(1524) [Receiver=3.0.7]
原因:
/etc/rsyncd.conf配置文件内容有错误。请正确核对配置文件
问题七:
rsync: chown "" failed:Invalid argument (22)
原因:
权限无法复制。去掉同步权限的参数即可。(这种情况多见于Linux向Windows的时候)
问题八:
@ERROR: daemon security issue –contact admin
rsync error: error starting client-server protocol (code 5) at main.c(1530)[sender=3.0.6]
原因:
同步的目录里面有软连接文件,需要服务器端的/etc/rsyncd.conf打开use chroot = yes。掠过软连接文件
六.配合inotify使用
inotify我之前在搭建dns来同步配置的时候就用过——>传送门
#!/bin/bash
src=/data/
dst=backup
host="1.2.3.4"
while inotifywait -rq -e modify,delete,create,attrib $zonefile >/dev/null; do
rsync -avz --delete --password-file=/etc/rsync.pass $src rsync@$host::$dst
echo -e "`date "+%Y-%m-%d %H:%M:%S"` File Changed, Synced">>/tmp/rsync.log
done
简单的一个脚本,可以监控/data/目录,递归模式,任何修改,删除,创建,修改属性的事件都会触发同步并记录到日志中,对于要自动化处理某些东西挺好用的
rsync 的使用的更多相关文章
- rsync 笔记之 list
通过 rsync --list-only 可以列出可用的 文件/目录或者 module 下面两者的含义是完全不同的: rsync --list-only root@192.168.4.140: 使用系 ...
- 配置rsync服务,数据同步。
这部分设计服务器端和客户端. [服务器端] 如果服务器没有安装rsync服务则使用yum安装rsync服务. yum install rsync 然后 vim /etc/xinetd.d/rsync ...
- 使用rsync同步目录
本文描述了linux下使用rsync单向同步两个机器目录的问题. 使用rsync同步后可以保持目录的一致性(含删除操作). 数据同步方式 从主机拉数据 备机上启动的流程 同步命令: rsync -av ...
- linux rsync配置文件参数详解
一.全局参数 在[moudle]之前的参数都是全局参数,也可以在全局参数下定义部分模块参数,这时该参数的值就是所有模块的默认值. port:指定后台程序使用的端口号,默认是873 logfile:指定 ...
- inotify+rsync实现实时同步部署
1.1.架构规划 1.1.1架构规划准备 服务器系统 角色 IP Centos6.7 x86_64 NFS服务器端(NFS-server-inotify-tools) 192.168.1.14 Cen ...
- rsync同步架构
1.1 rsync服务器端配置 1.1.1 查看服务器端rsync版本 1.1.2 创建配置文件 默认安装好rsync程序后,并不会自动创建rsync的主配置文件,需要手工来创建,其主配置文件为“/e ...
- rsync同步
本地同步: rsync -avz /boot /test C/S架构: 远程同步:rsync+ssh 远程浏览器目录文件:rsync 用户@192.168.0.250:/boot 下行:rsync ...
- 使用rsync+inotify同步两台服务器文件
目标功能:将B服务器文件同步到A服务器 A服务器rsyncd.conf配置 权限600 A服务器rsyncd.pas文件配置 权限600 同步文件路径 /data/wwwroot/shen/ 权限 ...
- 通过rsync+inotify实现数据的实时备份
我讲到过利用rsync实现数据的镜像和备份,但是要实现数据的实时备份,单独靠rsync还不能实现,本文就讲述下如何实现数据的实时备份. 一.rsync的优点与不足 与传统的cp.tar备份方式相比,r ...
- rsync参数及通信
rsync 支持: 本机数据 <-------> 远程数据/本地数据 意义: 支持增量拷贝 --> 备份,节省带宽,时间 rsync -avL 一.常用选项 ******* ...
随机推荐
- 通过Google浏览器Cookie文件获取cookie信息,80以上版本有效
public class ReadCookie { /// <summary> /// </summary> /// <param name="hostName ...
- FPGA最大工作频率教程
FPGA最大工作频率教程 1. Quartus的时序分析 作为编译过程的一部分,Quartus对布局布线的电路做时序分析.在编译报告里,展开"Timing Analyzer",这 ...
- Oracle和达梦:循环执行SQL(如循环插入数据)
Oracle和达梦:循环执行SQL(如循环插入数据) 其中:WHILE i <= 100000 LOOP,10万是循环10万次 其中:i NUMBER := 1;,1是从一开始 -- 循环执行一 ...
- EPAI手绘建模APP资源管理和模型编辑器2
g) 矩形 图 26模型编辑器-矩形 i. 修改矩形的中心位置. ii. 修改矩形的长度和宽度. h) 正多边形 图 27模型编辑器-内接正多边形 图 28模型编辑器-外切正多边形 i. 修改正多 ...
- 算法~PBKDF2-SHA让密码更安全
摘要:在当今的数字世界中,密码安全是至关重要的.为了保护用户密码免受未经授权的访问和破解,Password-Based Key Derivation Function 2 (PBKDF2)算法成为了一 ...
- PostgreSQL数据库管理工具pgAdmin4界面如何设置为中文显示
首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485130&idx=1 ...
- 🔥httpsok-v1.11.0支持CDN证书自动部署
httpsok-v1.11.0支持CDN证书自动部署 介绍 httpsok 是一个便捷的 HTTPS 证书自动续签工具,专为 Nginx .OpenResty 服务器设计.已服务众多中小企业,稳定.安 ...
- Angular等了三年,那个她已经来了
Angular生态丰富,功能强大,支撑了许多大型项目的开发.而且一直在前方等待着其他框架跟上.但是不得不直面的一个问题就是:"在等待其他框架跟上的这三年",Angular在陆陆续续 ...
- exe应用程序安装为windows服务
1.使用instsrv.exe和srvany.exe 当你获取到srvany后并决定将某程序作为服务启动后,请先将srvany安装为系统服务,具体的安装方法有很多,这里使用instsrv,语法如下:安 ...
- WPF实现轮播图
1.效果图 2.前端代码 <Window x:Class="LiveChartDemo.View.CarouselView" xmlns="http://schem ...