#!/bin/bash
function func_expect
\"assword:\"
eof
}expect eof"
}pwd="j000406w!ss"
cmd1="/usr/bin/rsync -e 'ssh -p 33021 -o stricthostkeychecking=no' /root/.acme.sh/youlai.cn/* 172.16.111.123:/root/.acme.sh/youlai.cn/"
func_expect "$cmd1" "$pwd"
這裡會出現乙個問題:rsync 匹配萬用字元 * 失敗 link_stat failed: no such file or directory
上面的cmd1命令執行時,不報錯誤,並正常的同步資料,此時會彈出互動介面,並提示要輸入伺服器的密碼,但這種操作放在指令碼裡就要expect來支援,放在expect裡面的話會報如下錯誤:
> rsync: link_stat "/root/.acme.sh/youlai.cn/*" failed: no such fileor directory (2)
> 具體情況如下:
>
> 剛開始的時候我以為是rsync無法匹配萬用字元*才導致的。
>
> 後來發現不是該問題,是由於expect裡面無法匹配 * 才導致的。
>
> 解決辦法:
>
> 在spawn 後面加上 bash -c "command"
>
> 這樣expect就認出了萬用字元*。
ps:為什麼在spawn處用" $1" 而不是"$1" ?
因為在上面已經有"了,此處用 \ 轉義。
兩台linux同步檔案
1 功能說明 scp就是security copy,用於將檔案或者目錄從乙個linux系統拷貝到另乙個linux系統下。scp傳輸資料用的是ssh協議,保證了資料傳輸的安全,其格式如下 scp 本地linux系統路徑 拷貝遠端檔案 到本地scp 本地linux系統檔案路徑 本地檔案拷貝 到遠端scp...
使用rsync在兩台VPS間傳輸檔案
如果你的vps上有個檔案要傳到另乙個vps上,最最簡單的方法有兩種。乙個是先 到本地,然後上傳到另乙個vps,這個方法的缺點是速度慢。另乙個方法是放到http可以訪問的目錄下,然後在另一台vps上使用wget命令 這個方法的缺點是操作較為麻煩,需要分別登陸兩台dzleidivvps,而且無法使用自動...
兩台SQL Server資料同步解決方案
複製是將一組資料從乙個資料來源拷貝到多個資料來源的技術,是將乙份資料發布到多個 儲存站點上的有效方式。使用複製技術,使用者可以將乙份資料發布到多台 伺服器上,從而使不同的伺服器使用者都可以在許可權的許可的範圍內共享這份資料。複製技術可以確保分布在不同地點的資料自動同步更新,從而保證資料的一致性。sq...