Wikit CLI是由kakushi-w制作的Wikidot备份工具,其可以备份特定Wikidot站点几乎所有对外公开的数据,同时也可以将其导入至ProjectWikit进行迁移
关于Wikit CLI的详情,请参考其在Github上的家
部署
Linux / macOS
curl -fsSL https://raw.githubusercontent.com/kakushi-w/wikit/main/install.sh | sh
Windows(PowerShell)
irm https://raw.githubusercontent.com/kakushi-w/wikit/main/install.ps1 | iex
以Linux为例,新建一个文件夹(以我为例,我建立在/www1/WikitCLI),在其中建立config.json文件
示例:
{
"base_directory": "/data",
"wikis": [ { "name": "scp-wiki", "url": "https://scp-wiki.wikidot.com" } ],
"ratelimit": { "bucket_size": 60, "refill_seconds": 60 },
"delay_ms": 200,
"user_list_cache_freshness": 86400,
"http_proxy": null,
"socks_proxy": null,
"refresh_votes": false,
"scheme": "https",
"keep_removed": false,
"checkpoint_pages": 50,
"checkpoint_seconds": 30
}
唯一需要修改的是wikis处;如果你有复数个站点需要备份,可以按这样的方式填写:
{
"base_directory": "/data",
"wikis": [ { "name": "lostmedia", "url": "https://lostmedia.wikidot.com" },
{ "name": "backrooms-to-dv", "url": "https://backrooms-to-dv.wikidot.com" }
],
"ratelimit": {
"bucket_size": 40,
"refill_seconds": 60
},
"delay_ms": 800,
"user_list_cache_freshness": 86400,
"http_proxy": null,
"socks_proxy": null,
"refresh_votes": false,
"scheme": "https",
"keep_removed": false,
"checkpoint_pages": 50,
"checkpoint_seconds": 30
}
运行
以宝塔为例,打开计划任务,新建一个任务,输入:
#!/bin/bash
export PATH="/usr/local/bin:/root/.local/bin:/usr/bin:/bin:$PATH"
cd /www1/WikitCLI || {
echo "无法进入目录 /www1/WikitCLI" >> /www1/WikitCLI/data.txt
exit 1
}
echo "===== $(date '+%Y-%m-%d %H:%M:%S') 开始执行 =====" >> /www1/WikitCLI/data.txt
/root/.local/bin/wikit backup all -c /www1/WikitCLI/config.json >> /www1/WikitCLI/data.txt 2>&1
echo "===== $(date '+%Y-%m-%d %H:%M:%S') 执行结束 =====" >> /www1/WikitCLI/data.txt
其中/www1/WikitCLI参考你自己的目录
常见问题
No such file or directory
可能跑计划任务会出现:
/www/server/cron/462978162f02027296984f9c566ab61f: line 15: /root/.local/bin/wikit: No such file or directory
SSH执行
which wikit
返回示例:
/usr/local/bin/wikit
则修改为
#!/bin/bash
export PATH="/usr/local/bin:/root/.local/bin:/usr/bin:/bin:$PATH"
cd /www1/WikitCLI || {
echo "无法进入目录 /www1/WikitCLI" >> /www1/WikitCLI/data.txt
exit 1
}
echo "===== $(date '+%Y-%m-%d %H:%M:%S') 开始执行 =====" >> /www1/WikitCLI/data.txt
/usr/local/bin/wikit backup all -c /www1/WikitCLI/config.json >> /www1/WikitCLI/data.txt 2>&1
echo "===== $(date '+%Y-%m-%d %H:%M:%S') 执行结束 =====" >> /www1/WikitCLI/data.txt
附件备份失败
即存在以下报错:
tls: failed to verify certificate: x509: certificate signed by unknown authority
服务器上的 系统 CA 证书库过旧或不完整,无法验证 Wikidot 文件服务器(wdfiles.com)使用的证书
wikit 本身没有提供跳过 TLS 验证的选项(HTTP 客户端直接使用系统默认的证书信任链),所以需要从系统层面修复,请自行更新系统 CA 证书
以Ubuntu为例:
apt update
apt install --reinstall ca-certificates -y
update-ca-certificates
CentOS:
yum reinstall ca-certificates -y
update-ca-trust

Comments NOTHING