场景
有时需要在远程服务器上编绎,编绎后在本地查看.比如有时在外面,手头只有一个windows平板,性能渣渣, 又要修改小程序.怎么办呢?可以这样: ssh远程服务器,远程neovim编辑,远程docker中的webpack自动打包,再将打包后变动文件发回本地.
步骤
原理
在本地电脑上开启sshd, 绑定到远程服务器一个端口。远程服务器文件变动后,利用rsync通过ssh推送变动到本地电脑。
前提
利用rsync同步文件, SSH方式, 需要将sshd配置为免密码登陆,比如证书.
需要将本地和远程都开启sshd, 且双方将public_key加入到对方的authroized_keys中.
创建ssh远程端口邦定
在本地linux端,比如msys2, cygwin, mobxterm中执行
ssh -Nf -R 8022:localhost:22 user@server
-N 不执行命令
-f 后台执行
-R 邦定远程8022端口到本地22端口;
测试是否邦定成功
ssh登陆远程服务器后
ssh -p 8022 localhost
建立监控变动并更新脚本
moniter.sh. 监控远程服务器,编绎后目录dist并同步到local机的project/dist目录下
#!/bin/bash
while true; do
inotifywait -r -e modify dist
rsync -a -e 'ssh -p 8022' dist/* localhost:project/dist
echo @ `date` done!
done