介绍
基本信息
作者:朱明宇
名称:批量重启多个远程服务器的服务
作用:批量重启多个远程服务器的服务
使用方法
1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 执行此脚本
脚本分割线里的变量
1. myuser=”eternalcenter” #登录远程服务器的用户
2. myserver=”192.168.1.1 192.168.1.2″ #要登录的远程服务器,以空格隔开
3. myservice=”nginx” #需要重启的服务,以空格隔开
4. mysudo=”no” #是否使用 sudo 提权,请选择 yes 或者 no
注意
1. 此脚本执行前必须要先保证执行本脚本的用户能无密码 ssh 远程这些远程服务器
2. 必须以 root 用户执行本脚本
脚本
#!/bin/bash
####################### Separator ########################
myuser="eternalcenter.com"
myserver="192.168.1.1 192.168.1.2 192.168.1.3" #each server is separated by a space
myservice="nginx" #each myservice is separated by a space
mysudo="yes" #please choose "yes" or "no"
####################### Separator ########################
mynow=`date +%Y-%m-%d-%H-%s`
if [ $mysudo == 'yes' ];then
myrestart(){
ssh -t $1@$2 "sudo -u root su - root -c \"systemctl restart $3\""
}
echo "use sudo"
fi
if [ $mysudo == 'no' ];then
myrestart(){
ssh -t $1@$2 "systemctl restart $3"
}
echo "don't use sudo"
fi
for services in $myservice
do
for servers in `echo $myserver`
do
myrestart $myuser $servers $services
done
done