1. 部分centos8 沒有安裝 sshpass 需要先安裝 sshpass
yum install sshpass
2. 需要增加一個配置文件, 避免因為 stickhost 檢查 造成命令失效
cat > ~/.ssh/config <<EOF
UserKnownHostsFile /dev/null
ConnectTimeout 15
StrictHostKeyChecking no
EOF
注意 這個配置節.. 第二個EOF 的F 后面 一定不能有空格..
3. 然后就可以執行相關的命令了:
比如我要同步一個文件夾:
sshpass -p Test1127?! rsync -rpt /deploy/ root@10.110.82.205:/deploy/ --delete
#注意 兩個目錄一定要帶 右側的斜線 不然就容易出問題.
就可以了.
刪除也能夠同步實現.
4. 為了簡單起見可以將 這一段設置成一個 alias 應該就能直接用了.
sshpass -p Test1127?!
5. 可以修改host 文件 然后批量的 進行文件覆蓋的操作
sshpass -p Test1127?! rsync -rpt --exclude={1,4} /rsync/$fi/ root@fi:/rsync/$fi/ --delete
6. 相應的執行自定義命令的方法為:
sshpass -p Test1127?! ssh root@GS166 "/deploy/startup" >/dev/null