python远程同步文件_自动同步文件到远程服务器

我要实现的是在本地目录修改文件,自动同步更新到服务端去。

如果我们不习惯使用vim来在远程写代码,可以在本地用喜欢的IDE写,然后自动同步到远程进行编译和调试(别问我为什么要到远程去编译调试,C++带的.so文件已经把编译器版本锁定了)。当然可以用git来同步,但是提交什么的有点麻烦。

更改了的安装包需要同步部署到其他服务器去。

我们需要run_rsync.sh和auto_sync.sh两个脚本,假定需要同步的目录在./data目录下。 我们用rsync来同步,很多系统都自带了这个工具。

自动输入密码

run_rsync.sh

#!/usr/bin/expect

set SRC [lindex $argv 0]

set DST [lindex $argv 1]

set PASS [lindex $argv 2]

#--delete参数删除多余文件

spawn rsync -vazu --progress $SRC $DST

expect {

"yes/no" { send "yes\r";exp_continue }

"password:" { send "$PASS\r" }

}

expect eof

if [catch wait] {

puts "rsync failed"

exit 1

}

exit 0

这里使用了expect来自动输入密码。

隔一段时间运行一次

auto_sync.sh

SRC=./data

DST=root@192.168.1.100:/home/test

PASS=***

while true;

do

./run_rsync.sh $SRC $DST $PASS > auto_sync.log

sleep 1s

done

每隔一秒钟同步一次,使用nohup在后台运行

nohup ./auto_sync.sh &

一切很好,再也不用学习难用的vim了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值