如果使用多台计算机,如何同步所有内容?[关闭]


31

我现在有4到5台计算机,并且我需要一个更好的系统来同步所有内容。我经常使用git和github来同步我的文件以进行编程项目,但随后有数据库,.bash_profile文件,bash脚本等。有时,我不是从同步文件而是从一台计算机切换到另一台计算机。但这变得相当混乱。我的一些计算机是Ubuntu,其他的是OSX。

对于管理跨多台个人计算机的工作流有何建议?


1
也许我应该尝试使用网络共享文件夹

1
@rwong我觉得@dan首先是在寻找那些“通常的答案”。考虑发布一个答案,描述使用rsync和共享文件夹如何帮助他。
亚当李尔

1
非常小心。
greyfade11年

4
这确实不是特定于编程的。也许迁移到SU会是一个更好的地方?
Walter

1
@FarmBoy-这将取决于数据库的类型,因为它们实际上也只是文件...我仍然将其视为文件同步问题,而不是编程问题。而且我认为关于SU的答案将会更多。只是我的2美分。
Walter

Answers:


15

我将Git用于git存储库,将Unison用于其他所有功能。我有几个统一的配置文件,所以我可以同步特定的事物,而一个可以同步所有事物。我也有一个bash脚本,它可以遍历并同步所有东西,然后进行同步,然后遍历并更新我的所有git存储库。

在同步计算机方面,Unison是我心中最好的事情。


1
您如何同步数据库?这对DDL和DML更改都起作用吗?
埃里克·威尔逊

我目前不处理任何与SQL /数据库相关的问题,因此我无法回答该问题,因为它不适用于我。我错过了原始问题的那一部分,正在回答如何使我的所有代码和配置文件信息同步。
sp0rus

使用Unison时会发生版本冲突吗?您如何最小化它们?

我总是在更改任何内容之前手动进行同步,以便编辑文件的最新版本。我还每晚设置一个cron作业来同步计算机。通过使用该系统,我对版本冲突没有任何问题。当我不得不偏离并且发生冲突时,我能够选择要替换的那个。
sp0rus 2011年

15

投寄箱

要同步文件,就像在DropBox知道的文件夹中进行操作一样容易。主页上的视频提供了大多数说明,这就是为什么我不对功能进行评论的原因。只需修改版本文件,DropBox将自动上传它,然后所有其他具有DropBox的计算机将自动下载最新版本。

对于诸如数据库之类的事物,符号链接可能是解决之道。DropBox论坛上的该线程提供了一些有关如何同步MySQL数据库的见解。或者,您可以执行“导出/导入”脚本路由,或者,如果确实使用的是MySQL,则可以查看Replication及其实现方式(这是MySQL的一项功能,不使用DropBox)。


我看不到如何使用Dropbox同步数据库。
埃里克·威尔逊

您可以安排将常规数据库转储到Dropbox目录或从Dropbox目录还原。
badgerr 2011年

6
@badgerr考虑扩大您的答案,以包括在OP提到的各种情况下如何使用Dropbox。
亚当李尔

太丑了 我宁愿使用像DbMaintain这样的脚本运行器。
埃里克·威尔逊

1
-1是安娜提到的原因。扩大您的答案,投票将被逆转;-)
fretje

7
  • 投寄箱
  • Github
  • Firefox Sync的书签/历史记录/ Firefox设置

1
+1表示直接答案,而保管箱位于最上方。不管他们最近在开源社区中遇到的PR问题,Dropbox对我来说都是无价之宝。
法尔马里2011年

3

当然,您可以将github用于所有代码,包括.bash_profile文件和bash脚本。

Hudson / Jenkins CI服务器非常适合维护多个环境。与DbMaintain一起使用,它也可以使数据库保持同步。

我的团队使用这种组合来同步四个配对站,各种笔记本电脑以及CI,TEST和QA环境(以及服务器和他们自己的数据库副本)。

它涉及Windows机器,Mac笔记本电脑和Linux服务器,因此非常灵活。


2

我将我的dotfiles保存在git中,并带有分支以用于特定于计算机的设置。它使我可以快速设置一台新计算机,并且可以共享脚本并使它们保持最新版本。


1

也许您需要退后一步,问自己为什么需要那么多计算机。就像有人问如何在他拥有的5辆车中将所有东西保持相同。

我建议您问问自己,每台计算机做什么,而主计算机却没有,只是让它做到。

您是否考虑过一台好笔记本电脑?

如果这些都在您家里,则可以设置一台服务器并将所有东西存放在这里。然后,您只有一台机器要备份数据。

如果它们是远程计算机,请考虑获取linux vps并将远程存储在此处。不要使用任何免费的在线服务,例如github,dropbox等,因为它们会在错误的时间消失。

不要使用AWS来存储您的东西。价格为$ 0.1 /月/ TB,即$ 100 /月/ TB,或$ 1200 /年/ TB。为此,您可以购买大约15个Western Digital 1TB硬盘。

如果您经营一家企业并从中获利,请使用可获得的最佳服务,但是老实说,很难击败硬盘驱动器来移动大量数据。甚至32GB的微型USB驱动器也只有指甲大小,您可以在周围移动大量数据...

有云,私有云。也许应该有个人云...


感谢您的提示。我有5台计算机,但是我只使用3台计算机,而我需要3台计算机。主场1台比Ubuntu的服务器,1的Thinkpad笔记本电脑的Ubuntu(主力),和1的MacBook Pro为iOS开发

0

从Subversion迁移的Git,又从CVS迁移。fgit(免责声明:由我)的pull pushstatusgc


0

您是否考虑过在那里建立某种云基础架构?似乎是从哪个工作站提取服务/文件/事物的唯一方法。

这是Ubuntu云的链接。


0

我现在使用Wuala代替Dropbox。一个问题是在Linux上缺少文件夹监视。它基本上每分钟扫描一次所有文件。他们说,下一个版本应该解决该问题。

如果由于实现inotify的方式而具有成千上万个文件夹(例如git存储库),则Linux上的实时同步会出现问题。对于每个单个文件夹,都需要一个“监视”-例如,参见https://stackoverflow.com/questions/535768/what-is-a-reasonable-amount-of-inotify-watches-with-linux


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.