高级目录树同步工具
项目描述
© 2014-2019 Thomas Khyn © 2003-2015 Anand B Pillai
高级目录树同步工具
基于 Anand B Pillai的Python robocopier
如果您喜欢dirsync并且想感谢我以及/或者鼓励未来的开发,以下是我的BTC或BCH捐赠地址:1EwENyR8RV6tMc1hsLTkPURtn5wJgaBfG9。
用法
从命令行
dirsync <sourcedir> <targetdir> [options]
从python
from dirsync import sync sync(sourcedir, targetdir, action, **options)
主要选项
在以下选项中选择一个是强制性的
- --diff, -d
仅报告源目录和目标目录之间的差异
- --sync, -s
在源目录和目标目录之间同步内容
- --update, -u
更新源目录和目标目录之间现有内容
如果您经常使用上述选项之一(例如sync),您可以考虑在配置文件中定义action选项,该配置文件由dirsync解析。
附加选项
- --verbose, -v
提供详细输出
- --purge, -p
同步时删除文件(默认情况下不删除)
- --force, -f
强制复制文件,尝试更改文件权限
- --twoway, -2
从目标目录更新源目录中的文件(默认情况下,只从源更新目标)
- --create, -c
如果不存在,则创建目标目录(默认情况下,目标目录应该存在)
- --ctime
同时考虑源文件的创建时间(Windows)或源文件的最后元数据更改(Unix)
- --content
只考虑文件的内容。仅同步不同的文件。在双向同步中,如果目的地和源都存在,则源文件内容具有优先级
- --ignore, -x patterns
要忽略的正则表达式模式
- --only, -o patterns
要包含的正则表达式模式(排除其他所有内容)
- --exclude, -e patterns
要排除的正则表达式模式
- --include, -i patterns
要包含的正则表达式模式(优先于排除)
配置文件
如果您总是想使用预定义选项,或者当您需要同步特定源目录时需要特定的选项,dirsync会按照顺序或优先级查找两个配置文件(最后一个具有优先级)
~/.dirsync source/directory/.dirsync
命令行选项始终覆盖配置文件中定义的值。
配置文件必须有一个defaults部分,选项定义如上所述。唯一例外是选项action,它可以取3个值diff、sync或update。
示例配置文件
[defaults] action = sync create = True
自定义日志记录器
从Python中,您可能不希望将输出发送到stdout。要这样做,您只需通过sync函数的logger关键字参数传递您的自定义日志记录器即可。
sync(sourcedir, targetdir, action, logger=my_logger, **options)