使用 Python 脚本同步

准备工作

首先使用 pip 安装 farbox_bucket,参考命令 pip install farbox_bucket --user
其次,注意目录不适宜放在 iCloud 上, iCloud 的机制比较特殊,会导致 FarBox 的同步机制出问题,不建议 FarBox + iCloud 的使用方式,除非把 iCloud 上 “优化Mac存储空间” 的勾选去除。

注意: 请使用 pipenv 构建 Python 的环境,避免让自己本地的 Python 环境被 FarBox 项目混淆了,具体请参考《基于项目,独立的环境》 (这是全端工作室下一个开放课程的其中一篇内容)。

同步到服务器

创建一个 .py 的脚本文件,后续直接运行它就可以了。另外,sync_site_folder_simply 的调用是增量同步,除非被同步的目录有几万、几十万的文件,其它的时候,没有明显的性能问题。

# coding: utf8
import os
from farbox_bucket.client.sync import sync_to_farbox

# 如果 DEBUG 设定是 yes,会在日志中输出同步的记录
os.environ['DEBUG'] = 'yes'

private_key = """
这里是 Bucket 的私钥
"""

root =  "需要同步的目录的路径"

# 节点,下面这个只是参考
node = "192.168.100.7:7788"

# 开始同步
sync_to_farbox(
    node = node,
    root = root,
    private_key = private_key
)

从服务器端同步回来

脚本如何运行,参考上一段内容。

# coding: utf8
import os
from farbox_bucket.cleint.sync import sync_from_farbox

# 如果 DEBUG 设定是 yes,会在日志中输出同步的记录
os.environ['DEBUG'] = 'yes'

private_key = """
这里是 Bucket 的私钥
"""

root =  "需要同步的目录的路径"

# 节点,下面这个只是参考
node = "192.168.100.7:7788"

# 开始同步
sync_from_farbox(root=root, node=node, private_key=private_key) 

其它

如果被同步的目录中,有 .configs 这个隐藏目录:如果有 sorts.json,它会替换掉 Bucket 的排序设置;如果有 site.json,也会替换掉 Bucket 上的网站设置,它与 FarBox Web 端的网站设置是互相冲突的。

Comments
Write a Comment
  • 抓个虫,从服务器同步回来的脚本包名字写错啦【

    farbox_bucket.cleint.sync(×

    farbox_bucket.client.sync(√