介绍
基本信息
作者:朱明宇
名称:实时监控内存
作用:实时监控内存,并每 3 秒钟更新 1 次状态信息
使用方法
1. 给此脚本添加执行权限
2. 执行此脚本
脚本
#!/bin/bash
while true
do
sleep 10
free -m | head -1
free -g | grep Mem
done
作者:朱明宇
名称:实时监控内存
作用:实时监控内存,并每 3 秒钟更新 1 次状态信息
1. 给此脚本添加执行权限
2. 执行此脚本
#!/bin/bash
while true
do
sleep 10
free -m | head -1
free -g | grep Mem
done
作者:朱明宇
名称:实时监控内存
作用:实时监控内存,并每 3 秒钟更新 1 次状态信息,总过进行 100 次
1. 给此脚本添加执行权限
2. 执行此脚本
#!/bin/bash
i=1
free -m | head -1
while [ $i -le 100 ]
do
let i=i+1
free -m | grep Mem
sleep 3
done
作者:朱明宇
名称:批量重启多个远程服务器的服务
作用:批量重启多个远程服务器的服务
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
作者:朱明宇
名称:批量将本地文件拷贝到多个远程服务器
作用:批量将本地文件拷贝到多个远程服务器
1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 执行此脚本
1. myuser=”eternalcenter” #登录远程服务器的用户
2. myserver=”192.168.1.1 192.168.1.2″ #要登录的远程服务器,以空格隔开
3. myfile=”/home/zhumingyu/test1.txt /home/zhumingyu/test2.txt” #要拷贝的文件,以空格隔开,必须是绝对路劲
4. mysudo=”no” #是否使用 sudo 提权,请选择 yes 或者 no
1. 此脚本执行前必须要先保证执行本脚本的用户能无密码 ssh 远程这些远程服务器
2. 必须以 root 用户执行本脚本
#!/bin/bash
####################### Separator ########################
myuser="eternalcenter"
myserver="192.168.1.1 192.168.1.2" #each server is separated by a space
myfile="/home/zhumingyu/test1.txt /home/zhumingyu/test2.txt" #each file is separated by a space, absolute road force must be used
mysudo="no" #please choose "yes" or "no"
####################### Separator ########################
mynow=`date +%Y-%m-%d-%H-%s`
mycontext=${myfile##*\/}
if [ $mysudo == 'yes' ];then
myreplace(){
scp $3 $1@$2:/tmp/$5
ssh -t $1@$2 "sudo -u root su - root -c \"mv $3 $3-$4;mv /tmp/$5 $3\""
}
echo "use sudo"
fi
if [ $mysudo == 'no' ];then
myreplace(){
scp $3 $1@$2:/tmp/$5
ssh -t $1@$2 "mv $3 $3-$4;mv /tmp/$5 $3"
}
echo "don't use sudo"
fi
for files in $myfile
do
if [ -f $files ];then
for servers in `echo $myserver`
do
myreplace $myuser $servers $files $mynow $mycontext
done
else
echo "$files does not exist"
fi
done
作者:朱明宇
名称:openSUSE & SLE 显示所有可升级的软件版本,并自动生成相应的升级命令
作用:openSUSE & SLE 显示所有可升级的软件版本,并自动生成相应的升级命令
给此脚本添加执行权限
执行此脚本
执行此脚本大致会生成以下内容:
zypper update MozillaFirefox-78.12.0-lp152.2.61.1 MozillaFirefox-translations-common-78.12.0-lp152.2.61.1 alsa-oss-1.1.8-lp152.4.3.1
#!/bin/bash
m=''
for n in `zypper list-updates | tail -n +5 | awk '{print $7"-"$11}'`
do
m="$m $n"
done
echo "zypper update $m"