Questions tagged «synchronization»

当主题与协调系统相关以具有相同的数据或状态或时间时,请使用此标记。它可以是冗余的一部分。


6
如何使用命令行工具同步两个文件夹?
从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中的所有内容删除,但不要触摸两个文件夹中相同的文件。

6
我该如何进行“更改后复制”操作?
我想将一组文件从目录A复制到目录B,但需要注意的是,如果目录A中的文件与目录B中的文件相同,则不应复制该文件(因此,修改时间不应为更新)。有没有办法用现有工具来做到这一点,而无需编写自己的脚本来做到这一点? 详细说明一下用例:我正在自动生成.c临时目录中的一堆文件(通过必须无条件生成所有文件的方法),当我重新生成它们时,我只想复制已更改到实际源目录的文件,保持不变(保留其旧的创建时间),以使他们make知道不需要重新编译它们。(.c不过,并非所有生成的文件都是文件,因此我需要进行二进制比较而不是文本比较。) (附注:这个增长我问的问题出https://stackoverflow.com/questions/8981552/speeding-up-file-comparions-with-cmp-on-cygwin/8981762#8981762,我在那里试图为了加快我用来执行此操作的脚本文件的速度,但是我想到我真的应该问,是否有比编写自己的脚本更好的方法了—尤其是因为任何简单的方法都可以在shell中执行脚本会cmp在每对文件上调用类似的代码,并且启动所有这些进程都需要很长时间。)

2
移动要附加的文件是否安全?
我有一个node.js流程,用于fs.appendFile向添加行file.log。仅附加每行约40个字符的完整行,例如,调用为like fs.appendFile("start-end"),而不是2个调用为fs.appendFile("start-")and fs.appendFile("end")。如果我将此文件移到,file2.log可以确定没有任何行丢失或部分复制吗?

3
您应该同步进行的哲学是否存在真理?同步; 同步; 同步?
当我于2000年在Cisco Systems的Linux上首次被引入Linux时,我得到了该sync命令的优点,该命令用于将缓冲区刷新到磁盘以防止文件系统损坏/数据丢失。不仅那里的同事告诉我,而且大学的朋友告诉我,总是要运行sync“几次”或“一堆”,即5到10次,而不是一次。 从那以后我一直保持着这种习惯,但是,这有什么好处吗?有人听说过吗?而且最重要的是,任何人都可以为您需要sync多次运行才能使其有效的想法提供良好的理论依据/经验证据吗?

5
使用rsync双向同步目录
我碰巧知道rsyn,我使用rsync在Mac和Linux服务器之间进行同步,如下所示。 rsync -r -t -v MAC LINUX rsync -r -t -v LINUX MAC 我希望运行第一个命令进行同步,但是当在LINUX中进行更改时,我也需要第二个命令。 我想念什么吗?rsync是否可以在两个目录之间进行同步?

8
当文件已经在两面时,有什么方法可以同步目录结构?
我有两个具有相同文件的驱动器,但是目录结构完全不同。 有什么办法可以“移动”目标端的所有文件,使其与源端的结构相匹配?也许有脚本? 例如,驱动器A具有: /foo/bar/123.txt /foo/bar/234.txt /foo/bar/dir/567.txt 而驱动器B具有: /some/other/path/123.txt /bar/doo2/wow/234.txt /bar/doo/567.txt 有问题的文件很大(800GB),所以我不想重新复制它们;我只想通过创建必要的目录并移动文件来同步结构。 我在考虑一个递归脚本,该脚本将在目标位置找到每个源文件,然后将其移动到匹配的目录,并在必要时创建它。但是-那超出了我的能力! 这里给出了另一个优雅的解决方案:https : //superuser.com/questions/237387/any-way-to-sync-directory-structure-when-the-files-are-already-on-both-sides/238086


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

2
使用文件系统监视程序在2台计算机之间同步文件夹,以便每次修改文件后立即将其复制
我有: 我通过IP 203.0.113.0端口1234上的SSH连接的Linux服务器 家用计算机(在路由器后面),公用IP 198.51.100.17,它是Debian或Windows + Cygwin 使文件夹/home/inprogress/ 同步(双向),最简单的方法是什么,有点像rsync,但是使用filesystem watcher,以便每次修改文件时,立即将其复制到另一侧?(即无需手动调用同步程序) 我正在寻找命令行/无GUI解决方案,因为服务器没有头。 有Linux / Debian内置解决方案吗?

1
同步文件的最佳方法-仅复制现有文件,并且仅复制比目标更新的文件
我正在Ubuntu 12.04上本地进行此同步。这些文件通常是小的文本文件(代码)。 我想从source目录复制(保留mtime戳)到,target但是我只想复制中的文件target 已存在并且早于中的文件source。 因此,我只复制中的较新文件source,但它们必须存在于其中target,否则将不会被复制。(source文件将比得多target。) 我实际上将复制source到多个target目录。我提到这一点是为了避免影响解决方案的选择。但是,target如果需要的话,我可以轻松地多次运行命令,每次都指定新命令。

3
使用rsync移动文件并删除目录?
最近,我需要删除大量文件(超过100万个),并且我读到这样做: rsync -av --delete `mktemp -d`/ ~/source && rmdir ~/source 是执行此操作最优化的方法之一,我可以保证它的速度比快rm -rf。 我不是这方面的专家,但是据我了解,rsync性能的原因与它列出文件的方式有关(我想是LIFO而不是FIFO)。现在,问题是,我还需要以有效的方式移动大量文件。经过一番搜索,我发现了这一点: rsync -av --ignore-existing --remove-source-files ~/source ~/destination 虽然这会删除所有移动的文件中~/source,该目录留在那里。由于我具有类似“循环”的目录结构files/directories,因此其数量非常接近1,因此我被迫再次运行第一个命令以完全摆脱该目录: rsync -av --ignore-existing --remove-source-files ~/source ~/destination && \ rsync -av --delete `mktemp -d`/ ~/source && rmdir ~/source 一条直线mv几乎可以立即完成,但是我的~/destination目录中有应保留的文件,因此mv不是一种选择。我找到了--prune-empty-dirsand --forcersync选项,但似乎都不如预期: --force force deletion of directories even if not empty --prune-empty-dirs prune …


4
使配置文件在多台PC上保持同步
我有几台不同的linux机器,每台机器上都有许多配置文件(和文件夹)。 例如: ~/.ssh/config ~/.config/openbox/rc.xml ~/.config/openbox/autostart.sh ~/.scripts/ ( folder ) ~/.bashrc ...etc 是否有一种简单而优雅的方法来使这些文件在我的机器之间同步(一个人无法访问互联网)? 另外,某些文件将需要更高级的同步过程,因为它们之间必须稍有不同……例如: 我的台式机键盘有一系列热键,而笔记本电脑几乎没有。我曾经XF86Mail在台式机上打开雷鸟,但在笔记本电脑上却打开Meta+ M。 我的家庭台式机和工作台式机都是面向“多用户”的,我的笔记本电脑只适合我。因此,在笔记本电脑上,我倾向于将openbox的“ rc.xml”文件保留在,/etc/xdg/openbox/rc.xml但在台式机上~/.config/openbox/rc.xml

1
rsync如何解决冲突?
如果机器A和机器B共享的目录先前通过进行了同步rsync,并且A更改了文件,B更改了相同的文件,而您rsync从A更改为B,该怎么办? 可能是像合并冲突那样的事情git? 冲突可以轻松解决吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.