带有 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的主要内容,如果未能解决你的问题,请参考以下文章
为啥不建议将 git 存储库放在 Dropbox 文件夹中?