它需要永远备份。 在我们可以信任btrfs或者ZFS来备份增量快照之前,如果有一个守护进程使用inotify来跟踪哪些文件实际发生了变化,那么备份运行速度会更快吗? 这个节目在哪里?
如何备份我的Linux机器,而不必每次都抓取整个文件系统? 我想要一个程序,可以检测到新的或更改的照片,源代码等,并将它们排队复制到我的NAS。
我用“yum search inotify”回答了我自己的问题。 它被称为lsyncd ,它托pipe在谷歌代码上。
不幸的是,它看起来总是首先运行一个完整的rsync,所以如果我的电脑一次不能超过14个小时,它仍然不能帮助我。
Lsyncd使用rsync将本地目录与运行rsyncd的远程计算机同步。 Lsyncd通过inotify监视多个目录树。 添加监视之后的第一步是将所有目录与远程主机rsync同步,然后通过收集inotify事件来同步单个文件。 所以lsyncd是一个轻量级的现场镜像解决scheme,应该易于安装和使用,同时与您的系统完美融合。 有关详细的命令行选项,请参阅lsyncd –help。
有一个叫做fsnotify
的新系统,旨在解决为解决通知问题而引入的inotify
的不足之处。 fsnotify
让你无需大惊小怪地观看整个文件系统。 希望fsnotify
将有助于解决我们所有未来的Linux备份问题。
你可以用incron破解一些东西。
/ path1 IN_CLOSE_WRITE rsync -au $ @ / $#backuphhost:/ path
基于研究(而不是testing),似乎inotify无法处理大多数系统上的大量文件,并且/或者非常缓慢。 在http://www.pubbs.net/kernel/200905/109416/的线程是最有用的,它指向一个新的Linuxfunction,似乎是在主线,fsnotify,或在Linux 2.6.31然后。
Lsyncd在启动时同步整个监视的树,因为对于99%的情况,这是明智的做法。 您确实需要本地主机上的目标主机上的目录,否则,同步可能会失败,并且您希望在closures时同步错过的内容。 但是,如果您知道自己在做什么,则可以closures启动同步,只需在Lsyncdconfiguration文件中设置sync {…,startup = false}即可。
关于inotify,它不是文件数量,而是消耗资源的目录数量。 一个目录是一个手表,无论它包含多less个文件。
fanotifybuild立在fsnotify像inotify看起来非常有希望为人们看吨目录,但目前的Linux 2.6.37 fanotify根本不报告重命名(移动)事件,使其无法像这样的工作:-(
我花了6个月的时间寻找最好的解决scheme来执行你正在做的事情; 有效地备份到NAS。 在初始同步之后,其他的一切都像黄油一样平滑。 最新版本的Lsyncd工作得很好。 我已经logging了我在下面的链接中所做的。 只要replace你的文件夹值。 希望这可以帮助:
https://docs.google.com/document/d/1XpqM5h5YMwuQqzdknyDDnjcQVYGjAsyAxfYprqSnhd0/edit
有一个在亚洲使用的新系统,称为sersync,而不是inotify-tool + rsyncparsinghttp://code.google.com/p/sersync/这是非常容易使用。