介绍:
作者:朱明宇
名称:实时监控内存
作用:实时监控内存,并每 3 秒钟更新一次状态信息,总过进行 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
作者:朱明宇
名称:实时监控内存
作用:实时监控内存,并每 3 秒钟更新一次状态信息,总过进行 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
<character string>.splite('<separator>', <split several times>)[<which number of word place>]
# string = string.splite('\n')
(补充:这里以给 string 字符串以一行行的方式进行分割为例)
# string = string.splite('\t')
(补充:这里以给 string 字符串制成表格为例)
# string = string.splite()
或者:
# string = string.splite(, -1)
(补充:这里以给 string 字符串以空格的方式进行分割为例)
# string = string.splite()[0]
(补充:这里以给 string 字符串以空格的方式进行分割,并截取第一个单词为例)
# string = string.splite()[-1]
(补充:这里以给 string 字符串以空格的方式进行分割,并截取最后一个单词为例)
# splite = re.split(r"[^A-Za-z]", line.strip())
(补充:这里以给 string 字符串以字母的方式进行分割为例)
(注意:要先导入 re 函数)
# splite = string.splite(':')
(补充:这里以给 string 字符串以冒号 “:” 的方式进行分割为例)
# splite = string.splite(':', 1)
(补充:这里以给 string 字符串以冒号 “:” 的方式进行分割,只分割一次,并从开头开始计数为例)
# splite = string.rsplite(':', 1)
(补充:这里以给 string 字符串以冒号 “:” 的方式进行分割,只分割一次,并从末尾开始计数为例)
使用方法:
1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 用 python3 命令执行此脚本
脚本分割线里的变量:
command=’df -h’ #要执行的 Linux 命令
import subprocess
####################### Separator ########################
command='df -h' #Linux command to execute
####################### Separator ########################
info = subprocess.check_output('%s'%command, shell=True)
info = info.decode().strip()
lines = info.split('\n')
for line in lines:
word = line.split()[0]
print(word)
作者:朱明宇
名称:批量重启多个远程服务器的服务
作用:批量重启多个远程服务器的服务
使用方法:
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