标签: synchronization

scp 而不替换目标中的现有文件

如何将整个目录复制到同名目录中而不替换目标目录中的内容?(相反,我想添加到目标文件夹的内容中)

ssh scp rsync synchronization

214
推荐指数
6
解决办法
28万
查看次数

如何使用命令行工具同步两个文件夹?

从 Windows 迁移到 Linux 后,我想找到 Winmerge 的替代软件,或者学习命令行工具来比较和同步 Linux 上的两个文件夹。如果您能告诉我如何在命令行上执行以下任务,我将不胜感激...(我已经研究了 diff 和 rsync,但我仍然需要一些帮助。)

我们有两个文件夹:“/home/user/A”和“/home/user/B”

A文件夹是存放普通文件和文件夹的地方,B文件夹是备份文件夹,作为A文件夹的完整镜像。(B文件夹中没有用户直接保存或修改的内容。)

我的问题是:

  • 如何列出仅存在于文件夹 B 中的文件?(例如,自上次同步以来从文件夹 A 中删除的那些。)

  • 如何将仅存在于文件夹 B 中的文件复制回文件夹 A?

  • 如何列出两个文件夹中都存在但具有不同时间戳或大小的文件?(自上次同步以来已在文件夹 A 中修改的那些。我想避免使用校验和,因为有数以万计的文件,它会使过程太慢。)

  • 如何将文件夹A的精确副本复制到文件夹B中?我的意思是,将文件夹 A 中的所有内容复制到仅存在于文件夹 A 中的文件夹 B 中,并删除仅存在于文件夹 B 中的文件夹 B 中的所有内容,但不涉及两个文件夹中相同的文件。

linux file-copy synchronization files

117
推荐指数
4
解决办法
17万
查看次数

如何进行“更改后复制”操作?

我想将一组文件从目录 A 复制到目录 B,但需要注意的是,如果目录 A 中的文件与目录 B 中的文件相同,则不应复制该文件(因此其修改时间不应为更新)。有没有办法用现有的工具做到这一点,而无需编写自己的脚本来做到这一点?

详细说明我的用例:我正在.c临时目录中自动生成一堆文件(通过必须无条件生成所有文件的方法),当我重新生成它们时,我只想复制已更改为实际源目录的那些,保留未更改的(使用它们的旧创建时间)保持不变,以便make知道不需要重新编译它们。(.c不过,并非所有生成的文件都是文件,因此我需要进行二进制比较而不是文本比较。)

(注意:这是我在/sf/ask/628708671/#8981762 上提出的问题,我在那里尝试为了加快我用来执行此操作的脚本文件的速度,但我突然想到,我真的应该问是否有比编写自己的脚本更好的方法来执行此操作——尤其是因为在 shell 中执行此操作的任何简单方法脚本将cmp在每对文件上调用类似的东西,并且启动所有这些进程需要很长时间。)

timestamps synchronization files

43
推荐指数
4
解决办法
7万
查看次数

实时文件同步

是否有任何工具可用于在将文件写入磁盘后立即在两个或多个 linux 服务器之间同步文件?该rsync命令不适合我,因为如果我rsync在 cron 中设置,我可以设置的最短时间是 1 分钟,但我需要实时设置。

linux synchronization files

33
推荐指数
4
解决办法
9万
查看次数

你应该同步的哲学是否真实?同步; 同步; 同步?

当我第一次接触 Linux 时,2000 年在 Cisco Systems 工作,我被教导了该sync命令的优点,用于将缓冲区刷新到磁盘以防止文件系统损坏/数据丢失。不仅那里的同事告诉我,大学里的朋友也告诉我总是跑sync“几次”或“一堆”,也就是说,也许 5-10 次,而不是一次。

从那以后我一直保持这个习惯,但是,这有什么好处吗?有没有其他人听说过这个?最重要的是,任何人都可以为/反对您需要sync多次运行才能有效的想法提供良好的基本原理/经验证据吗?

buffer synchronization

31
推荐指数
3
解决办法
8172
查看次数

移动附加的文件是否安全?

我有一个 node.js 进程,用于fs.appendFilefile.log. 仅附加每行大约 40 个字符的完整行,例如调用 like fs.appendFile("start-end"),而不是 2 个调用 likefs.appendFile("start-")fs.appendFile("end")。如果我将此文件移动到file2.log我可以确保没有丢失或部分复制行吗?

open-files synchronization files mv

29
推荐指数
2
解决办法
4554
查看次数

使用 rsync 双向同步目录

我碰巧知道 rsyn,我使用 rsync 在我的 mac 和 linux 服务器之间进行同步,如下所示。

rsync -r -t -v MAC LINUX
rsync -r -t -v LINUX MAC
Run Code Online (Sandbox Code Playgroud)

我希望运行第一个命令进行同步,但是当在 LINUX 中进行更改时,我也需要第二个命令。

我错过了什么吗?rsync 是否可以选择在两个目录之间进行同步?

rsync synchronization

28
推荐指数
4
解决办法
5万
查看次数

当文件已经在两边时,有什么方法可以同步目录结构?

我有两个驱动器具有相同的文件,但目录结构完全不同。

有没有办法“移动”目标端的所有文件,使它们与源端的结构相匹配?也许用脚本?

例如,驱动器 A 具有:

/foo/bar/123.txt
/foo/bar/234.txt
/foo/bar/dir/567.txt
Run Code Online (Sandbox Code Playgroud)

而驱动器 B 具有:

/some/other/path/123.txt
/bar/doo2/wow/234.txt
/bar/doo/567.txt
Run Code Online (Sandbox Code Playgroud)

有问题的文件很大(800GB),所以我不想重新复制它们;我只想通过创建必要的目录和移动文件来同步结构。

我正在考虑一个递归脚本,它会在目标上找到每个源文件,然后将其移动到匹配的目录,如有必要,创建它。但是——这超出了我的能力!

这里给出了另一个优雅的解决方案:https : //superuser.com/questions/237387/any-way-to-sync-directory-structure-when-the-files-are-already-on-both-sides/238086

shell directory synchronization

26
推荐指数
3
解决办法
6574
查看次数

除了通过 ssh 复制某些文件和目录外,如何复制所有文件和目录?

使用Linux命令行,我使用scp命令,从某个目录复制所有文件和文件夹。但是,我不喜欢消耗带宽,因为复制我很少改变的东西,比如我的tiny_mce文件夹。复制所有内容但跳过一小部分文件夹的技巧是什么?

ssh remote file-copy synchronization

25
推荐指数
5
解决办法
3万
查看次数

同步文件的最佳方式 - 仅复制现有文件,并且仅在比目标更新时复制

我正在 Ubuntu 12.04 上进行本地同步。这些文件通常是小的文本文件(代码)。

我想从复制(保留修改时间标记)source目录target,但我只想要复制如果文件target 已经存在,而且是较旧的一个比source

所以我只复制较新的文件source,但它们必须存在,target否则不会被复制。(source将有比target.多得多的文件。)

我实际上将从source多个target目录复制。我会提到这一点,以防它影响解决方案的选择。但是,如果需要,我可以轻松地多次运行我的命令,target每次都指定新的。

backup rsync file-copy synchronization

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

标签 统计

synchronization ×10

files ×4

file-copy ×3

rsync ×3

linux ×2

ssh ×2

backup ×1

buffer ×1

directory ×1

mv ×1

open-files ×1

remote ×1

scp ×1

shell ×1

timestamps ×1