我有一个外部 USB 驱动器,我将其插入 Linux NAS。我想保持特定文件夹同步,因此对 NAS 上 FolderA 中文件的更改会应用于 USB 驱动器上的 FolderA,反之亦然。
合适的解决方案是运行 rsync 命令两次,即一次将 NAS 同步到 USB,然后再次将 USB 同步到 NAS,例如如下:
# sync NAS to USB
rsync -av --stats /share/FolderA/ /share/USBDisk1/FolderA/
# sync USB to NAS
rsync -av --stats /share/USBDisk1/FolderA/ /share/FolderA/
Run Code Online (Sandbox Code Playgroud)
我希望该过程仅更新/添加(没有删除,只是为了安全),并且尽可能高效。
注意:我将作为 Cron 作业运行这些命令。
谢谢。
我尝试使用 rsync 在两台机器之间同步文件,但无论文件修改时间如何,它似乎都会复制所有文件。连续两次调用该命令产生相同的结果,所以它显然是坏的。
有问题的命令是:
rsync -r local/path user@host:/remote/path -v
Run Code Online (Sandbox Code Playgroud)
本地文件系统是 ext4,而远程文件系统是 ext3。我怀疑问题出在这里,因为当我尝试在同一个 ext3 系统和 NTFS 驱动器之间同步文件时,我遇到了类似的问题。将后者转换为 ext3 解决了这个问题。
这次我不能求助于转换。有谁知道问题的确切来源和任何可能的解决方案?
我的工作日历存储在我雇主的部落服务器上。我也有自己的 owncloud 实例在运行。
我想要做的是将我的工作日历也存储在我自己的云实例中,并有一个脚本将该日历镜像到我的部落帐户。我知道只有我对 Horde 服务器上的日历进行了更改,因此从 owncloud 到 Horde 的单向同步就可以了。
owncloud 和 Horde 都支持 CalDAV;此外,Horde 有一些 XMLRPC 服务。我对 owncloud 实例有 root 访问权限,但对于 Horde 服务器,我只有 Horde 的 Web 登录。对于如何进行这种同步的任何建议,我将不胜感激。不幸的是,我还没有找到任何解决方案。
这个问题主要是供其他人学习并满足我自己的好奇心,如果有人知道它为什么会这样做。
我们的 DC 有一个问题,因为它被虚拟化了,没有合适的时间,这个问题已经得到解决。但是我们的一些客户端和服务器需要更新的时间。所以我尝试以 admin w32tm /query /source 身份运行以下命令以确保它从我们的域控制器获取时间,然后 w32tm /resync 同步时间,两个命令都没有错误但时间没有改变。
我在事件日志中看到类似于以下行的内容。系统时间从 2014-09-08T21:31:33.342455400Z 更改为 2014-09-08T21:31:33.328000000Z。
所以我在没有改变的情况下再试了几次命令,然后在谷歌上搜索了一下,结果回来发现客户端现在有合适的时间,但事件日志中没有任何新内容。
我在第二个客户端上尝试了相同的结果,但我没有离开客户端,而是在日志周围戳了一下,出于纯粹的运气,我低头看了看时钟,发现时间越来越接近真实时间。它正在缓慢地回到正确的时间。时钟会时不时地上升 2 秒,或者在整整一秒过去之前一秒会变成下一个数字。它会这样做,直到时钟到达正确的时间。
我的问题是为什么要这样做?当我将时间同步到 NTP 服务器时,为什么不像我的个人计算机那样立即将时间更改为正确的时间?
synchronization time-synchronization domain-controller windows-server-2012-r2
同步正在运行的生产服务器的大量数据的最佳方法是什么?
我们的服务器在 100 万个目录中存储了超过 2000 万个文件(10k 的小文件和高达 50MB 的更大文件)。所有数据的大小约为 5 TB(稳步增加)。
是否可以使用 lsyncd 同步数据以及有哪些限制(尤其是 inotify)?lsyncd 需要多少额外空间?负载(CPU 和内存)和实时时间如何?
另一种解决方案是 GlusterFS。是否可以在没有停机或停机时间最短的生产中使用 GlusterFS?GlusterFS 在 x-attributes 文件中存储了大量魔法数据,存储量比没有 GlusterFS 的系统大 15% 到 20%。好像浪费了很多……?负载呢?
至少 rsync 和 cronjobs 可以完成这项工作。rsync 只会在从属服务器上运行......所以主服务器上不需要额外的空间,但是每次 cron 运行时 rsync 必须读取完整的目录树......
我希望通过不稳定的 WAN 连接复制一些大文件。有没有我可以使用的工具,当网络短暂故障时它会自动恢复,如果我必须手动修复它,让我手动恢复?
我计划设置两个 Ubuntu 服务器作为备份解决方案,人们可以在其中存储图像和文档。我的想法是,如果用户在一台 Ubuntu 服务器上的特定目录(也许是 Samba 共享目录?)中保存/更新文件,它会将其同步到另一台服务器。
你们有什么感想?有没有更好的解决方案?提前致谢!
编辑:是否建议创建可写目录并在 Samba 中设置它的访问权限?用户安装了 Mac OSX 和 Windows XP 作为他们的操作系统。
我最近为我们的网站设置了负载平衡解决方案。我们托管了大约 200 个站点,大多数运行我们的自定义应用程序,但有些运行 wordpress 博客(可以上传/删除其中的文件)。设置是基本的:
|-------------------> Apache1
|
HAProxy -|
|
|-------------------> Apache2
Run Code Online (Sandbox Code Playgroud)
我已设置Apache1为“主”,因此Apache2使用以下命令对它所做的大部分更改都会每分钟同步一次:
rsync -av --delete apache1:/var/www/html/ /var/www/html/
Run Code Online (Sandbox Code Playgroud)
问题是,如前所述,在某些情况下,文件是在Apache2. 到目前为止,我想出的唯一解决方案是将Apache1某些目录(例如 wp-content)中的所有文件同步到自身(而不是删除),然后将所有内容推回Apache2.
这有它的缺陷,主要是:
Apache2考虑到两台服务器都可以添加、更新和删除文件,是否有任何方法可以保持 2 个以上的 Web 服务器同步?
将 Mac OSX 机器上的文件夹内容与 Linux 服务器上的另一个文件夹同步的最简单方法是什么?
您可以使用scp:
scp -r /path/to/folder/ username@IP_ADDRESS:/path/to/sync/with
Run Code Online (Sandbox Code Playgroud)
但是scp速度很慢并且会复制所有文件,无论它们是否存在于服务器上。还有哪些其他选择?
我一直在寻找一种工具来同步来自 2 个不同数据库的表,并找到了pt-table-sync. 我阅读了文档并感到困惑:他们主要使用涉及复制环境的示例,但我认为复制的全部目的是为您处理数据同步,因此我的问题是:
什么是使用的点pt-table-sync,如果在复制过程中应该采取对您的数据的同步照顾?
可以pt-table-sync在非复制环境下使用吗(2+台主机之间没有任何关系,是pt-table-sync --execute host1 host2 host3给出的例子的作用)吗?
如果我必须用pt-table-sync在复制环境中,我可以做不bin-logs上master(有一个例子谈论解决分歧发现通过 pt-table-checksum这样想,如果bin-logs是绝对必要的)?