带有 git 的 Dropbox 类服务——没有 rsync 和 inotify

Posted

技术标签:

【中文标题】带有 git 的 Dropbox 类服务——没有 rsync 和 inotify【英文标题】:Dropbox like service with git -- no with rsync and inotify 【发布时间】:2010-04-22 13:55:36 【问题描述】:

您对如何使用 git 设置类似 Dropbox 的服务有什么建议吗?

你认为 git 是解决这个问题的正确工具吗?

我在考虑使用 git + rush 解决方案,你怎么看?

【问题讨论】:

【参考方案1】:

查看这个开源项目:https://github.com/hbons/SparkleShare

来自项目的自述文件:

它是如何工作的?

SparkleShare 在您的计算机上创建一个特殊文件夹。您可以将远程托管文件夹(或“项目”)添加到此文件夹。当有人添加、删除或编辑文件时,这些项目将自动与主机和您的所有同行保持同步。

【讨论】:

【参考方案2】:

如果您拥有远程服务器并且正在运行 linux,那么您可以简单地拥有一个文件夹,您可以将其 rsync 设置为例如“每 10 秒”的 chron 作业。

您可以在 linux 上安装一个东西,它可以为您提供 mac 时间库或 windows 卷影副本之类的功能。让它在远程服务器上运行。

这绝不会像目前为您提供的服务保管箱那样好,但它是免费的,节省服务器空间...

更新

阅读有关 Git 工作原理的更多信息(查看 wiki 页面,Linus 的引用是一流的)似乎您只需要获取远程服务器,并设置一个定期提交您的更改和下载的 cron 作业任何更新,这样您就可以共享文件以及与多台计算机同步。

不确定 Git 的安全性如何,其他人可以开始阅读它还是需要知道密码之类的?在这种情况下,请在加密分区中运行它。

【讨论】:

【参考方案3】:

感谢 thecoshman,你让我进入了正确的方向 rsync。

问题是 cron 作业似乎不是一个有效的选项,我希望有一个更改通知器:

输入:inotify

这是一个很棒的blog entry for an Open Source Dropbox solution。

更新:

github上有一个项目,它是博客文章讨论的结果,它被称为lipsync

【讨论】:

【参考方案4】:

我开发了一个超级简单的脚本,它使用 git 和 cron 在几台 linux 计算机之间同步文件夹。

它自己安装所有东西或解释如何安装:在本地机器和服务器上安装 git,安装公共/私有 ssh 密钥,检查 sshd 是否安装...

我已经放到了github上:

https://github.com/photonOli/gitBox/

【讨论】:

以上是关于带有 git 的 Dropbox 类服务——没有 rsync 和 inotify的主要内容,如果未能解决你的问题,请参考以下文章

在Dropbox上搭建私有的Git仓库的教程

企业版不通过服务器安装,但可以通过 Dropbox 安装

为啥不建议将 git 存储库放在 Dropbox 文件夹中?

如何配置 Git 以将其与 Dropbox 一起使用?

Mercurial(我猜是 Git)和 Dropbox:有啥缺点吗?

一个Git仓库管理多个Git项目