我想通过 ssh 发送小脚本到远程机器
脚本是
#!/bin/bash
sleep 1
reboot
Run Code Online (Sandbox Code Playgroud)
但我发现事件未找到 - 因为“!”
ssh 183.34.4.9 "echo -e '#!/bin/bash\nsleep 1\reboot>'/tmp/file"
-bash: !/bin/bash\nsleep: event not found
Run Code Online (Sandbox Code Playgroud)
如何忽略“!” char so 脚本会通过 ssh 成功发送吗?
备注 我不能在“!”之前使用“\” 因为我得到
more /tmp/file
#\!/bin/bash
sleep 1
Run Code Online (Sandbox Code Playgroud) 我有大约700台Linux redhat机器
我想在所有它们上运行命令"yum update"
我正在考虑我的脚本中描述的以下方法
但我不确定我的脚本中的"yum update&"是否是正确的方法?
&被添加到命令以便独立运行命令
more list.txt
server1
server2
.
.
Run Code Online (Sandbox Code Playgroud)
我的剧本
#!/bin/bash
SSH="/usr/bin/ssh -n -o ConnectTimeout=5 -o StrictHostKeyChecking=no -xaq"
for server_name in ` cat list.txt `
do
echo "Run yum update on sevrer - $server_name"
$SSH $server_name "yum -y update &"
sleep 0.1
done
Run Code Online (Sandbox Code Playgroud)
我很高兴知道有关如何在700台机器上并行运行yum update的其他想法和建议