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