南宁网站建设平台,国际新闻最近新闻军事,wordpress媒体库无法显示,平乡县网站建设平台位置使用说明
备份指定目录
# 备份指定目录文件到指定目录,备份文件名称为#xff1a;备份目录最后一层目录_日期.tar.gz
# 第一个参数#xff1a;backdir 第二参数#xff1a;备份文件保存目录 第三个参数#xff1a;备份目录/文件
sh script.sh backdir /root/…使用说明
备份指定目录
# 备份指定目录文件到指定目录,备份文件名称为备份目录最后一层目录_日期.tar.gz
# 第一个参数backdir 第二参数备份文件保存目录 第三个参数备份目录/文件
sh script.sh backdir /root/ /home查看CPU、磁盘、内存使用率
sh script.sh baseinfo返回结果
2023-04-03 13:08:44 CPU usage: 0.0, Memory usage: 9.39%, Disk usage: 19%显示基础信息-详细
sh script.sh info查看进程pid启动时间持续执行时间
sh script.sh pstime 进程名/id根据进程id查看工作目录
sh script.sh psdir 15008清除Linux系统占用缓存
sh script.sh dropCache查看端口是否使用
# 第一个参数脚本名称 第二个参数ip第三个参数端口
sh scripte.sh pint-portdemo
sh scripte.sh pint-port端口 80 无法访问 127.0.0.1查看进程使用的端口
sh scripte.sh processor-port 进程信息demo
sh 1.sh processor-port 15008
-------------------------------------------------
所有进程ID:14746 14749 15008
-------------------------------------------------
进程ID:14746
进程 15008 没有占用任何端口。
-------------------------------------------------
进程ID:14749
进程 15008 没有占用任何端口。
-------------------------------------------------
进程ID:15008
进程 15008 占用的端口号1234
12345
16798
25333
50052
5678
-------------------------------------------------查看端口所在进程
sh scripte.sh processor-port 5678demo
sh scripte.sh processor-port 5678端口 对应的进程是 javaPID 是 15008。查看目录下各目录占用空间以及最大文件或目录 sh script.sh duh /var/libdemo
# sh 1.sh duh /var/lib
28K /var/lib/polkit-1
76K /var/lib/systemd
692K /var/lib/cloud
13M /var/lib/yum
132M /var/lib/rpm
25G /var/lib
25G /var/lib/clickhouse
占用存储空间最大的目录是
25G /var/lib/clickhouse查看内存使用前十的进程
sh script.sh top-mem查看CPU使用前十的进程
sh script.sh top-cpu脚本内容
#!/bin/bash# 备份指定目录文件到指定目录,备份文件名称为备份目录最后一层目录_日期.tar.gz
# 第一个参数backdir 第二参数备份文件保存目录 第三个参数备份目录/文件
backdir(){# 备份文件保存目录BACKUP_DIRecho $2# 备份目录SOURCE_DIRecho $3FILE_NAMEbasename $SOURCE_DIR# 备份文件名称BACKUP_FILE$FILE_NAME\_$(date %Y%m%d).tar.gz#如果备份文件保存目录不存在则创建if [ ! -d $BACKUP_DIR ]; thenmkdir -p $BACKUP_DIRfi# 创建备份文件tar -zcvPf $BACKUP_DIR/$BACKUP_FILE $SOURCE_DIR
}# 内存cpu磁盘使用
baseinfo(){# CPU usageCPU_USAGE$(top -b -n 1 | grep ^%Cpu | awk {print $2})# Memory usageMEM_USAGE$(free | awk NR2{printf %.2f%%, $3/$2*100})# Disk usageDISK_USAGE$(df -h / | awk NR2{print $5})# Write results to log fileecho $(date %Y-%m-%d %H:%M:%S) CPU usage: $CPU_USAGE, Memory usage: $MEM_USAGE, Disk usage: $DISK_USAGE
}# 开启防火墙
startFirewall(){# 获取 Linux 系统版本OS$(awk -F /^NAME/{print $2} /etc/os-release)# 根据系统版本执行相应的命令启动防火墙if [[ $OS *CentOS* || $OS *Red Hat* ]]; thensystemctl start firewalldsystemctl enable firewalldsystemctl start iptablessystemctl enable iptablessystemctl status iptablessystemctl status firewalldecho Firewall has been started and enabled successfully.elif [[ $OS *Ubuntu* || $OS *Debian* ]]; thenufw enableecho Firewall has been enabled successfully.elseecho Unsupported operating system.exit 1fi
}
#关闭防火墙
stopFirewall(){# 获取 Linux 系统版本OS$(awk -F /^NAME/{print $2} /etc/os-release)# 根据系统版本执行相应的命令关闭防火墙if [[ $OS *CentOS* || $OS *Red Hat* ]]; thensystemctl stop firewalldsystemctl disable firewalldsystemctl stop iptablessystemctl disable iptablessystemctl status iptablessystemctl status firewalldecho Firewall has been stopped and disabled successfully.elif [[ $OS *Ubuntu* || $OS *Debian* ]]; thenufw disableecho Firewall has been disabled successfully.elseecho Unsupported operating system.exit 1fi
}# 查看进程pid启动时间持续执行时间
pstime(){ps -eo pid,lstart,etime,cmd | grep $2
}# 根据进程ID查看进程工作目录
psdir(){ls -l /proc/$2/cwd
}# 释放缓存
dropCache(){syncecho 3 /proc/sys/vm/drop_caches
}# 第二个参数ip第三个参数端口
pingPort(){# 定义IP地址和端口IP_ADDRESSecho $2PORTecho $3# 检查nc命令是否已经安装如果未安装则尝试安装if ! command -v nc /dev/null; thenif command -v apt-get /dev/null; thensudo apt-get update sudo apt-get -y install netcatelif command -v yum /dev/null; thensudo yum install -y ncelseecho 无法自动安装nc命令请手动安装后重试。exit 1fifi# 使用nc命令检查IP地址和端口是否可用if nc -z -w 2 $IP_ADDRESS $PORT; thenecho 端口 $PORT 可以访问 $IP_ADDRESSelseecho 端口 $PORT 无法访问 $IP_ADDRESSfi
}# 查看进程使用的端口号
# 第二个参数出入安需要查询的进程可以为pid也可以为进程名称
catProcessorPort(){echo -------------------------------------------------PROCESS_NAMEecho $2# 使用pidof命令查找进程IDPID$(pidof $PROCESS_NAME)# 如果找不到进程ID则使用ps命令查找if [ -z $PID ]; thenPID$(ps -ef | grep $PROCESS_NAME | grep -v grep | awk {print $2})fiecho 所有进程ID:$PID# 如果还是找不到进程ID则输出错误信息并退出if [ -z $PID ]; thenecho 找不到进程 $PROCESS_NAME。exit 1fifor PID2 in $PID; doecho -------------------------------------------------echo 进程ID:$PID2# 使用lsof命令查找进程占用的端口号PORTS$(lsof -nP -p $PID2 | grep LISTEN | awk {print $9} | cut -d: -f2 | sort -u)# 输出占用端口号if [ -n $PORTS ]; thenecho 进程 $PROCESS_NAME 占用的端口号$PORTSelseecho 进程 $PROCESS_NAME 没有占用任何端口。fidoneecho -------------------------------------------------}# 查看使用端口的进程pid
# 第二个参数为端口号
catPortProcessor(){catPortProcessorPortecho $2# 使用 lsof 命令查询端口号对应的进程pid$(sudo lsof -t -i:$catPortProcessorPort)# 如果找到了进程打印进程名称和 PIDif [ ! -z $pid ]; thenprocess_name$(ps -p $pid -o comm)echo 端口 $port 对应的进程是 $process_namePID 是 $pid。elseecho 端口 $port 没有被占用。fi
}# 查看哪个目录占用磁盘空间大
# 第二个参数为需要查看的目录
duh(){directoryecho $2# 遍历目录并计算大小du -h -d 1 $directory | sort -h# 输出占用存储空间最大的目录echo 占用存储空间最大的目录或文件是du -sh $directory/* | sort -hr | head -n 1
}# 使用内存最多的前十个进程
topMem(){echo 下面是 内存 占用率最高的前 10 个进程echosecho 进程ID 内存使用大小 启动命令ps aux --sort-%mem | head -n 11 | tail -n 10 | awk {print $2,$6/1024M,$11}echos
}# 使用CPU最多的前十个进程
topCpu(){echo 下面是 CPU 占用率最高的前 10 个进程echosecho 进程ID cpu占用率 启动命令ps aux --sort-%cpu | head -n 11 | tail -n 10 | awk {print $2,$3,$11}echos
}# 查看有多少远程的 IP 在连接本机(不管是通过 ssh 还是 web 还是 ftp 都统计)
# 使用 netstat ‐atn 可以查看本机所有连接的状态,‐a 查看所有,
# -t仅显示 tcp 连接的信息,‐n 数字格式显示
# Local Address(第四列是本机的 IP 和端口信息)
# Foreign Address(第五列是远程主机的 IP 和端口信息)
# 使用 awk 命令仅显示第 5 列数据,再显示第 1 列 IP 地址的信息
# sort 可以按数字大小排序,最后使用 uniq 将多余重复的删除,并统计重复的次数
connectIp(){echo 连接数量 来源IP端口# 第一列是连接数量第二列是连接ip:portnetstat -atn | awk {print $5} | awk {print $1} | sort -nr | uniq -c
}# 查看网卡流量
iftop(){sudo yum -y install iftopecho 请手动输入命令查看流量iftop -P
}# 显示系统基础信息
info(){# 获取系统 CPU 数量cpu_logical_count$(nproc)cpu_physical_count$(grep physical id /proc/cpuinfo | sort -u | wc -l)# 获取系统内存总容量、已使用内存量和可用内存量mem_total$(grep MemTotal /proc/meminfo | awk {print $2})mem_used$(free -m | awk NR2{print $3})mem_available$(free -m | awk NR2{print $4})# 获取系统磁盘总容量、已使用磁盘空间和可用磁盘空间disk_total$(df -BG --total | awk END{print $2})disk_used$(df -BG --total | awk END{print $3})disk_available$(df -BG --total | awk END{print $4})# 获取系统 CPU 使用率cpu_usage$(top -bn1 | grep Cpu(s) | sed s/.*, *\([0-9.]*\)%* id.*/\1/ | awk {print 100 - $1%})# 将容量单位转换为 GB#disk_total$(echo scale2;$disk_total/1024 | bc)#disk_used$(echo scale2;$disk_used/1024 | bc)# 显示基础监控信息echo 系统 CPU 数量逻辑处理器数量$cpu_logical_countecho 系统 CPU 数量物理处理器数量$cpu_physical_countecho 系统内存总容量$((mem_total / 1024)) MBecho 系统已使用内存量$mem_used MBecho 系统可用内存量$mem_available MBecho 系统磁盘总容量$disk_total GBecho 系统已使用磁盘空间$disk_used GBecho 系统可用磁盘空间$disk_available GBecho 系统 CPU 使用率$cpu_usage
}echos(){echo -------------------------------------------------
}case $1 inbackdir)backdir $*;;baseinfo)baseinfo;;stopFirewall)stopFirewall;;startFirewall)startFirewall;;pstime)pstime $*;;psdir)psdir $*;;dropCache)dropCache;;ping-port)pingPort $*;;processor-port)catProcessorPort $*;;port-processor)catPortProcessor $*;;duh)duh $*;;top-mem)topMem ;;top-cpu)topCpu ;;connect-ip)connectIp;;iftop)iftop;;info)info;;*)exit 1
esac脚本一键应用
sudo curl -L http://linux.hadoop.wiki/jastool.sh -o /usr/bin/jastool sudo chmod x /usr/bin/jastool
调用方法
jastool inf