跨机器管理配置文件的工具。
configfiles的Python项目详细描述
配置文件
一种跨多台机器同步配置文件的系统,智能方式。
安装
$ pip install configfiles
or
$ pip install -r requirements.txt
$ python setup.py install
设计
configfiles
用于存储和增量更新配置文件的模型,或者更准确地说,用于更新配置文件的脚本。
这些脚本通常是根据文件更改自动生成的,但可以自定义以执行安装依赖项或填充系统等操作
具体信息。
与git不同,这些文件的更新以脚本序列的形式存储,而不是diff图。这就降低了它的威力 分支,但更简单的内部模型。在将来的版本中,这可能会被修改,但是对于基于脚本的内容,它会更好地工作。
所讨论的脚本实际上不是shell脚本,而是为了更好的互操作性而使用的小python。大多数时候他们是 自动生成。
请注意,当使用configfiles时,您将以与您的帐户相同的权限运行任意python代码,并且
请确保仅sync
对受信任的回购协议
用法
configfiles中有几个主要操作,第一个是sync
,它将系统更新到配置repo的最新版本。
请注意,一旦sync
成为回购协议,就必须desync
使用另一个回购协议
$ configfiles sync config.someserver.url:repo/path
可以省略服务器路径以使用最后一个sync
ed服务器。
要更新configfiles repo,可以使用update
操作,该操作接受文件的diff并将其作为脚本添加。最终结果
文件被“签入”到回购协议。
$ configfiles update .zshrc
请注意,默认情况下,configfiles路径相对于当前用户文件夹运行,并且update
将警告不要在主目录下添加文件。
要使用自定义python脚本作为更新方法,请使用add
。
$ configfiles add my_updater.py modifies_file.rc
脚本在主目录中运行,保证对configfiles公共api的完全访问。
若要还原由sync
所做的更改,请使用rollback
。
$ configfiles rollback <number of changes>
or (with caution)
$ configfiles rollback --remote <number of changes>
请注意,回滚只关心文件,并且当前无法创建事务脚本(即自定义回滚脚本) 脚本功能的主要目的是为特定于机器的东西定制文件,这就是为什么它是这样设计的。
在使用上述任何方法之前,configfiles repo必须是init
-ed.
init
创建一个没有附加脚本的新repo。
$ configfiles init config.someserver.url:repo/path
$ configfiles sync config.someserver.url:repo/path
$ configfiles update .zshrc <etc>
其他文档
TOdo,有关详细信息,请参阅代码注释
服务器要求
托管configfiles repo的服务器必须支持sftp,这就是它。没有“configfiles server”,整个系统的代码仅限于客户端
更改日志
0.3.1:
- 错误修复
0.3.0:
- 增加了同步特定次数的功能
- 错误修复
0.2.1:
- 错误修复版本
0.2.0:
- 初始版本