linux如何写一个脚本完成对a,b,c...多个机器作日常检查

tabno 2007-08-22 05:41:13
假设有a,b,c...等多个机器,root密码为xxx
已知这些机器都启动了ssh服务,且ssh服务端口号更改为了7050
日常检查包括执行如下命令
echo "press Enter to check error and fail"
echo "------------------------------------"
read
cat /var/log/messages | grep error | more
grep fail /var/log/messages | more
echo "press Enter to check File system"
echo "------------------------------------"
read
df -m
echo "press Enter to check Performance"
echo "------------------------------------"
read
top
echo "press Enter to check cpu and memmory"
echo "------------------------------------"
read
vmstat 1 20

谢谢。

...全文
140 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cceczjxy 2007-08-25
  • 打赏
  • 举报
回复
注意,要有空格
tabno 2007-08-24
  • 打赏
  • 举报
回复
ip.txt内容如下:
x4100.unix-center.net
link 1
x4100.unix-center.net
link 2
x4100.unix-center.net
link 3
x4100.unix-center.net
link 4
check.sh内容如下:
#!/bin/bash
while read ip
do
if[ "$ip" = "link*" ]; then
echo $ip
else
ssh $ip<<EOF
TabNo
xxxxx
echo $pwd
fi
done < ip.txt
在x4100.unix-center.net上试的
结果报错:
check.sh: syntax error at line 5: `then' unexpected
cceczjxy 2007-08-23
  • 打赏
  • 举报
回复

while read ip
do
echo $ip ----------------------------------------------------------------------->>check.log
ssh $name <<EOF>>check.log
root
XXXX
echo "press Enter to check error and fail"
echo "------------------------------------"
read
cat /var/log/messages | grep error | more
grep fail /var/log/messages | more
echo "press Enter to check File system"
echo "------------------------------------"
read
df -m
echo "press Enter to check Performance"
echo "------------------------------------"
read
top
echo "press Enter to check cpu and memmory"
echo "------------------------------------"
read
vmstat 1 20
quit
EOF

done <ip.txt

把要简称的ip地址按行都放在ip.txt内.
hzcpig 2007-08-22
  • 打赏
  • 举报
回复
你这不是写好脚本了?

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧