Hexo中rsync的使用

正文

在客户端Hexo目录下输入

1
2
//安装rsync部署插件
npm install hexo-deployer-rsync --save

在Hexo配置文件中添加,注意代码缩进,各参数含义请参考Hexo官方文档

1
2
3
4
5
6
7
8
9
deploy:
type: rsync
host: <host>
user: <user>
root: <root>
port: [port]
delete: [true|false]
verbose: [true|false]
ignore_errors: [true|false]

在Hexo中使用rsync必须客户端和服务器都装有rsync。Debian服务器请运行

1
2
3
//服务端安装rsync
apt-get update
apt-get install rsync

经过以上配置,本地Hexo程序已经具备rsync同步的功能,但是每次同步还需要输入服务器密码。

登录服务器更加安全的方式是使用公私密钥进行验证,所以需要在本地ssh配置文件中配置默认私钥。

1
2
3
4
5
//配置默认私钥 
//"private_rsa"请更换成自己的私钥
cat private_rsa > ~/.ssh/id_rsa
//更改id_rsa权限为x00,文件必须对group和other不可读、不可写和不可执行
chmod go-rwx ~/.ssh/id_rsa

经过以上配置,不仅Hexo中的rsync可以使用私钥进行验证,SSH命令也无需输入-i参数就可以使用默认密钥。

注:

rsync有两种认证方式:

  1. rsync-daemon模式
    rsync-daemon监听873端口,两端都需要安装rsync,只需服务器端启用rsync服务(daemon)。
  2. SSH模式
    类似于scp,通过SSH隧道进行同步,两端都需要安装rsync,两端都需要开启rsync服务(daemon)
作者

F!redent

发布于

2017-03-02

更新于

2024-01-30

许可协议

CC BY-NC-SA 4.0

评论