标签: rsync

rsync 使用正则表达式只包含一些文件

我正在尝试运行 rsync 以根据文件名模式(不区分大小写)沿路径递归复制一些文件。这是我为运行 rsync 所做的:

$ rsync -avvz --include ='*/' --include='.*[Nn][Aa][Mm][E].*' --exclude='*' ./a/ ./b/
Run Code Online (Sandbox Code Playgroud)

没有被复制,调试输出显示:

[sender] hiding file 1Name.txt because of pattern *
[sender] hiding file 1.txt because of pattern *
[sender] hiding file 2.txt because of pattern *
[sender] hiding file Name1.txt because of pattern *
[sender] hiding directory test1 because of pattern *
[sender] hiding file NaMe.txt because of pattern *
Run Code Online (Sandbox Code Playgroud)

我试过使用: --include='*[Nn][Aa][Mm][E]*'和其他组合,但还是不行。

关于如何使用正则表达式包含一些文件的任何想法?

linux backup shell rsync regex

14
推荐指数
2
解决办法
4万
查看次数

使用 Linux 将文件从 NTFS 精确复制到另一个 NTFS

我尝试将所有文​​件从 NTFS 复制到外部驱动器,并希望保留所有权限和属性。外部驱动器已经有一个 NTFS 并包含其他文件。

我考虑过使用以下工具:

  • ntfsclone不起作用,因为它在扇区级别运行并且会克隆整个 FS,从而破坏旧数据。如果用于创建图像文件,我无法从 Windows 机器访问内容。
  • rsync 不保留所有元数据。

另一种方法是robocopy在正在运行的 Windows 中使用,但我更愿意在没有的情况下复制文件。(源分区用作系统的C:\.)

如何复制文件?

linux backup ntfs rsync

14
推荐指数
1
解决办法
1万
查看次数

rsync 与仍在写入的文件的行为?

如果 Apache 正在编写一个大文件并且在该文件上运行 rsync cron 作业,rsync 是否尝试复制该文件?

例子

  • Apache-1:有大文件正在写入/var/www.
  • Apache-2:Apache-1 的克隆。每五分钟让 cron 运行 rsync 以获取/var/www同步。

linux apache-http-server rsync cron ubuntu

14
推荐指数
1
解决办法
3万
查看次数

linux合并文件夹:rsync?

我有一个文件夹的两个副本

src/
dest/
Run Code Online (Sandbox Code Playgroud)

我想合并它们,执行以下操作:

如果一个文件只在src,我希望它被移动到dest

如果一个文件只在 . dest,我希望它忽略 IE。

如果文件在两者中并且具有相同的内容(即相同的大小和日期),则从src

如果文件是在这两个并执行具有相同的内容,留下src这样我就可以手动将它们合并。

只有极少数文件(占总文件的 0% 到 5% 之间)应该属于最后一个类别,但我不知道如何将两者中的文件和相同的文件与两者分开,但不同。

我试图弄清楚如何做到这一点,rsync但到目前为止无济于事。

linux bash rsync

13
推荐指数
2
解决办法
1万
查看次数

使用 Cygwin rsync 将 ACL 处理留给 Windows

我正在运行一个rsync命令,将我的文件从服务器复制到我的 Windows 机器,例如:

rsync -rt --partial-dir=".rsync" --del rsync://server/a/ a/
Run Code Online (Sandbox Code Playgroud)

每当此命令创建一个目录时,它往往会创建一个具有疯狂 ACL/权限的目录。对我来说,它倾向于创建 10<not inherited>个条目,其中一个拒绝运行rsync命令的用户的条目,其他条目也没有多大意义。甚至使用类似线程建议的--chmod=ugo=rwX选项也会发生这种情况。

我该怎么做才能完全阻止rsync尝试设置权限(并将权限留给 Windows 中的 ACL 继承)?

windows cygwin rsync acl

13
推荐指数
1
解决办法
1万
查看次数

了解 rsync 的包含/排除模式

我想使用以下模式从远程系统传输 N 个文件:

ssh remote ls target/
2013-08-01.mjson.gz
2014-07-04.mjson.gz
2014-07-09.mjson.gz
2014-08-12.mjson.gz
...
Run Code Online (Sandbox Code Playgroud)

我只想要2014-07*文件。我到目前为止的尝试:

rsync -a --dry-run --verbose --include="2014-07-*" remote:target .
# transfers everything

rsync -a --dry-run --verbose --include="2014-07-*" --exclude="*" remote:target .
# transfers nothing

rsync -a --dry-run --verbose --exclude="*" --include="2014-07-*" remote:target .
# transfers nothing

rsync -a --dry-run --verbose --include="*/2014-07-*" --exclude="*" remote:target .
# transfers nothing

rsync -a --dry-run --verbose --include="***/2014-07-*" --exclude="*" remote:target .
# transfers nothing
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用 --files-from 来指示我想要的文件,但这样做很痛苦。

我从来不明白如何正确使用包含/排除来做我想做的事。手册页指出:

并且对第一个匹配模式起作用:如果它是排除模式,则跳过该文件;如果是包含模式,则不会跳过该文件名;如果没有找到匹配的模式,则不会跳过文件名。

读到这里,我假设如果首先包含,并且文件名匹配,那么“文件名不被跳过”部分就会开始。显然,我错了。

在手册页的进一步下方,我看到:

请注意,当使用 --recursive (-r) 选项(由 …

linux rsync

13
推荐指数
1
解决办法
2万
查看次数

为什么 SSH 上的 rsync 使我的吞吐量是 SCP 的 10 倍?

  1. scp user@aws-ec2:~/file file
  2. rsync --partial --progress -Pav -e ssh user@aws-ec2:~/file file

scp只给我 200K/s,但rsync给我 1.9M/s

我测试了几次,结果都是一样的。

rsync 使用多线程??

networking linux ssh rsync scp

13
推荐指数
2
解决办法
8639
查看次数

cp -r -l 在 MacOS 中(递归复制保留硬链接)

我正在尝试复制目录树以递归方式保留文件的硬链接。使用 gnu cp,这将与 -l 标志一起使用。cp 然后会重新创建目录结构,但不需要复制每个文件的内容。

这是备份的准备工作,首先我想制作上一个备份的廉价(硬链接)副本,然后通过此副本 rsync 源目录。大致:

 cp -r -l yesterdays_backup todays_backup
 rsync -a source_dir todays_backup
Run Code Online (Sandbox Code Playgroud)

不幸的是,OSX 的 cp 不支持 -l 标志,据我所知,cpio 不支持递归复制。另一种选择是 pax,但这会导致整个目录结构被复制:

 pax -rw backups/yesterdays_backup backups/todays_backup
Run Code Online (Sandbox Code Playgroud)

变换:

 yesterdays_backup
 |
  \source_dir (...)
Run Code Online (Sandbox Code Playgroud)

到:

 todays_backup
 |
  \backups
          \yesterdays_backup
                            \source_dir(...)
Run Code Online (Sandbox Code Playgroud)

应该有一个简单/明显的方法来做到这一点,但我目前很难过...... cpio 和 pax 的任何替代方案?我想避免安装 gnu cp。

我知道 Timemachine,但它不能正确地增量备份加密目录。

mac backup rsync cp

12
推荐指数
2
解决办法
1万
查看次数

让 rsync 在实际更改文件之前等待确认

我正在本地和远程文件夹之间进行同步。碰巧我通过一个愚蠢的命令丢失了一个文件。

在进行实际文件传输之前,我习惯于一致和您确认(“去?”)的方式。

rsync 有这样的选项吗?(服务器端没有一致)

谢谢!

sync rsync unison

12
推荐指数
4
解决办法
9793
查看次数

如果文件在 rsync 运行时发生更改怎么办?

我正在使用 rsync 复制 ~10GB 的小文件。如果在 rsync 运行时修改了源目录中的文件会发生什么?

rsync

12
推荐指数
2
解决办法
6289
查看次数

标签 统计

rsync ×10

linux ×6

backup ×3

acl ×1

apache-http-server ×1

bash ×1

cp ×1

cron ×1

cygwin ×1

mac ×1

networking ×1

ntfs ×1

regex ×1

scp ×1

shell ×1

ssh ×1

sync ×1

ubuntu ×1

unison ×1

windows ×1