吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2859|回复: 1
收起左侧

[其他转载] linux常用脚本小合集V0.1(一键获取硬件信息、守护程序、定期备份mysql等)

[复制链接]
zhugebozi 发表于 2021-11-8 10:47
因为自身工作原因,需对一些服务端日常维护。期间陆陆续续写了一些脚本用于方便工作。
特此分享给吾友,脚本都是自己用的,功能比较简单,但是确实能大大减少日常工作量。
所有内容均在centos7.6下经过测试可用,部分脚本在ubuntu下不可用,需自行修改。


全部脚本下载链接:
链接: https://pan.baidu.com/s/1PegoQtzyVbhLLlTBNMBGKg 提取码: 3bdj

1、一键获取服务器硬件信息:
直接sh脚本执行,脚本内容如下:
[Shell] 纯文本查看 复制代码
#该脚本用于输出centos系统服务器硬件信息,ubuntu中部分命令显示会有问题#操作系统
echo "操作系统: $(cat /etc/redhat-release)"
#cpu型号
echo "CPU信息: $(dmidecode -s processor-version |head -n 1)"
#cpu个数
echo "CPU个数: $(cat /proc/cpuinfo |grep "physical id" |sort |uniq|wc -l)"
#cpu核心数
echo "CPU核心数: $(cat /proc/cpuinfo |grep "cores"|uniq)"
#内存数量
echo "内存情况分别为: $(dmidecode -t memory|grep Size|grep -v "No Module Installed" )"
#内存频率
echo "内存频率为: $(dmidecode|grep -A16 "Memory Device"|grep "Speed")"
#内存总数
echo "内存总数: $(free -mh|grep Mem|awk '{print $2}')"
#硬盘信息
echo "硬盘大小: $(lsblk|grep -v SIZE|grep -v ─|awk '{print $4}')"
#网卡信息,还在调试中。期望显示网口激活状态、IP、聚合状态、mac地址。

运行结果:

一键获取硬件状态

一键获取硬件状态


2、任意程序自动守护(以tomcat为例):
原理是检测某程序是否存活,如访问本机webservice页面、telnet端口等,不存活则重启服务并写入日志,存活则写入日志;
脚本写完后再利用crontab定期执行。
脚本内容如下:
[Shell] 纯文本查看 复制代码
source /etc/profile
#此处用curl http的方式测试程序是否存活,也可以改成简单测试端口是否存活
result=($(curl -m 15 -o /dev/null -w %{http_code} http://123.123.123.123:80/index.htm))
if [ $result != 200 ];
then
echo "$(date +%Y-%m-%d\ %H:%M:$S) ----web服务异常----"  >>/home/tomcatRun.log
echo "result =" $result
systemctl stop tomcat
sleep 10
systemctl start tomcat
echo "-----web服务已启动-----"
else echo "$(date +%Y-%m-%d\ %H:%M:$S)  web服务正常" >>/home/tomcatRun.log
echo "result =" $result
exit
fi

用“crontab -e”加入计划调度,每5分钟执行一次:
[Shell] 纯文本查看 复制代码
*/5 * * * * sh /home/protectTomcat.sh


3、定时备份mysql
脚本如下:
[Shell] 纯文本查看 复制代码
source /etc/profile
date=$(date +%Y_%m_%d\_%H_%M_%S)
mysqldump -u用户名 -p密码, 库名 表名 > /home/"$date".sql

用“crontab -e”加入计划调度,每天1点30分执行一次:
[Shell] 纯文本查看 复制代码
30 1 * * *  sh /home/mysql_backup.sh


4、定期删除日志
直接用“crontab -e”加入计划调度,每天1点20分执行一次,删除指定目录下3天前的日志:
[Shell] 纯文本查看 复制代码
20 1 * * *  find /usr/local/tomcat/logs/ -mtime +2 | xargs rm -rf 

如果需要删的日志比较多的话,可以把命令写到脚本里,定期执行脚本,这样crontab会比较清爽。

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
Codeman + 2 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

kyler097 发表于 2022-2-7 14:11
这内存获取有点粗啊,把不必要的信息过滤下啊,尽量使用全系linux都带的命令再获取啊,以保证全平台通用啊。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 09:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表