python遠端同步檔案 自動同步檔案到遠端伺服器

2021-10-19 22:08:24 字數 841 閱讀 3879

我要實現的是在本地目錄修改檔案,自動同步更新到服務端去。

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

我們需要run_rsync.sh和auto_sync.sh兩個指令碼,假定需要同步的目錄在./data目錄下。 我們用rsync來同步,很多系統都自帶了這個工具。

自動輸入密碼

run_rsync.sh

#!/usr/bin/expect

set src [lindex $ar** 0]

set dst [lindex $ar** 1]

set pass [lindex $ar** 2]

#--delete引數刪除多餘檔案

spawn rsync -vazu --progress $src $dst

expect

"password:"

expect eof

if [catch wait] {

puts "rsync failed"

exit 1

exit 0

這裡使用了expect來自動輸入密碼。

隔一段時間執行一次

auto_sync.sh

src=./data

[email protected]:/home/test

pass=***

while true;

do./run_rsync.sh $src $dst $pass > auto_sync.log

sleep 1s

done

每隔一秒鐘同步一次,使用nohup在後台執行

nohup ./auto_sync.sh &

一切很好,再也不用學習難用的vim了。

rsync遠端檔案同步

伺服器端 配置rsyncd.conf.位置 etc rsyncd.conf 密碼檔案 啟動rsync服務 rsync daemon 客戶端 密碼檔案裡只需要記錄密碼,不需要記錄使用者名稱.此密碼需要和伺服器端密碼檔案內密碼一致.chown user group 密碼檔案 chmod 0600 密碼檔...

windows檔案自動同步

windows server 幾大實時同步軟體比較 需求 從windows server 主機a 到 windows server 主機b 之間同步目錄 方案一 使用bat指令碼 計畫任務的方式 1.1 bat指令碼 功能 把主機a的c source目錄,同步到主機a的d backups 如果要同步...

linux 遠端檔案同步 shell

127.0.0.1 username password 192.168.12.12 usename password編寫expect shell usr bin expect f set timeout 1 永不超時,預設為10s set src file lindex argv 0 argv引數讀...