利用 Seafile 命令行客户端同步 GitBlog

前言

由于 GitBlog 无后台编辑,故此每次在电脑写好博客,还需要用 SSH 或其他方式上传文件比较麻烦,而服务器本来就部署了 Seafile,故此可以使用 Seafile 的命令行客户端来作为同步工具。

需要使用工具

Seaf-Cli 安装方法

####下载客户端

1
2
wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-cli_4.3.2_x86-64.tar.gz
tar xzf seafile-cli_4.3.2_x86-64.tar.gz

####初始化和安装守护进程

1
2
3
4
5
cd seafile-cli-4.3.2
# 选择存储seafile客户端设置的文件夹(例如)~/.seafile-client
mkdir ~/.seafile-client # 创建客户端设置文件夹
./seaf-cli init -d ~/.seafile-client # 初始化客户端,并指定客户端的配置文件目录
./seaf-cli start # 启动守护程序

####在您的环境中安装 Seafile 客户端

1
2
# 建立 seaf-cli 命令软连接到系统环境中
ln -s `readlink -f seaf-cli` /usr/bin/

####建立同步

  1. 到 Seafile Web 上新建 GitBlog 资料库。
  2. 点击资料库,抄下 https://demo.myseafile.com/#my-libs/lib/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 最后面的资料库 ID。
  3. 到服务器中建立同步
1
2
3
4
5
6
7
8
seaf-cli sync -l [资料库 ID] -s [Seafile 服务器 URL] -d [Gitblog目录] -u [Seafile 用户邮箱] -p [Seafile 登陆密码]
#查询已同步资料库
seaf-cli status
#Name Status Progress
#Name Status
gitblog synchronized
  1. Windows 安装 Seafile 客户端,同步 GitBlog 资料库,就可以在本地编辑 Blog 目录下的内容了。保存过几秒就刷新页面就可以看到自己写的博客,方便简单,无需再敲命令。

Seaf-Cli 开机启动

vim /etc/systemd/system/seaf-cli.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[Unit]
Description=Seafile Terminal Client
# add mysql.service or postgresql.service depending on your database to the line below
After=network.target seafile.service
[Service]
Type=oneshot
ExecStart=/opt/seafile-cli/seaf-cli start
ExecStop=/opt/seafile-cli/seaf-cli stop
RemainAfterExit=yes
User=root
Group=root
[Install]
WantedBy=multi-user.target

systemctl daemon-reload

systemctl enable seaf-cli