尝试备份 sphinx 索引文件时,备份脚本出现间歇性问题。备份命令或多或少只是tar
对所有文件的命令,/var/lib/sphinxsearch/data
具有一些排除模式(spl
,,tmp
等...)
但是我遇到的问题是我们运行几乎连续的重新索引,这意味着 tar 是操作员的文件不断地被新版本轮换出来。我有一个计划来解决这个问题,即使用 sphinx 锁文件:
- 对于每个索引:
- 获取文件锁定
.spl
(希望防止重新索引同时运行) - 添加相关文件(
.spa
,.spd
,.sph
,.spi
,.spk
,.spm
,.spp
,.sps
) .spl
释放文件上的锁定
- 获取文件锁定
我担心的是,我似乎找不到任何关于锁定文件在 sphinx 中的行为方式的详细文档。这将是一个在低级别与 sphinx 的并发交互的工具,我看到了很多潜在的陷阱(并发让我害怕)。我想知道是否:
- 有没有什么地方可以全面描述锁文件在 sphinx 中的工作方式?
- 我备份 sphinx 的计划是正确的计划吗?我环顾谷歌,找不到更好的方法,但有人知道更好的方法。