shell脚本
Yuki-He
这个作者很懒,什么都没留下…
展开
-
Shell编程---监控网站目录文件是否被恶意篡改(md5sum指纹)
题目要求:使用shell脚本监控网站目录(/var/html/www)中的文件是否被篡改,如果有就打印出改动的文件名并用邮件告警。分析:什麽是恶意篡改?只要是未进过许可改动的都是恶意篡改。文件被篡改了,会有特征:a.文件大小可能会发生变化;b.文件的修改时间会发生变化(文件测试符ot、nt等);c.文件内容会发生变化(md5sum指纹);d.文件目录中的文件被删除,或者文件目录中有其...原创 2018-11-14 16:02:14 · 1201 阅读 · 0 评论 -
Shell编程---监控检查进程是否存活
题目要求:使用shell脚本监控检查进程是否存活分析:对于非守护进程我们一般都会想到直接去判断 “ps -ef |egrep xx |egrep -v egrep” 是否有内容;对于daemon守护进程,通常都会有自己的pid或者lock文件,然后可以通过检查这些文件是否存在来判断进程是否存活。然而有些异常情况下,pid文件存在进程却并不存在。因此并不能依赖进程的pid文件来检测进程是否存活...原创 2018-11-13 11:30:27 · 5362 阅读 · 0 评论 -
Shell编程---自动删除清理过期日志
要求:根据文件最后修改时间删除清理指定目录下面的文件,并在/var/log/deletelog下面生成按月的删除清理日志分析:在查找文件时要想不受文件名限制 我们采用文件最后修改时间mtime进行查找,而且还适用于删除过期备份。find 目录 -type f 查找文件时会根据换行来输出查找的文件,而我们希望给xargs的参数是按照空格输出的,否则直接结合xargs使用会有一定的影响。(...原创 2018-11-19 17:23:53 · 950 阅读 · 0 评论 -
Shell编程---数组学习总结
概述array作为一种数据结构,在所有高级语言编程中都是有直接提供和实现的,shell 肯定也是会使用到的。数组的声明怎样声明一个数组变量?假设数组的变量名为array。直接赋值(根据数组的下标进行赋值)array[0]="a" array[1]=&a原创 2018-11-23 15:51:40 · 251 阅读 · 0 评论 -
想到哪儿写到哪儿系列(经常犯错的知识点)
概述可以说,以下大部分知识点都是本人经过无数次踩雷o(╥﹏╥)o 之后进行的一些些总结了。测试脚本相关信息[root@myhost yuki]# pwd/yuki[root@myhost yuki]# lltotal 4-rwxr-xr-x 1 root root 36 Dec 6 09:35 test.sh...原创 2018-12-07 14:56:59 · 376 阅读 · 0 评论 -
详解shell中的几种标准输出重定向方式
shell重定向介绍无论是用什麽语言开发的程序,都会处理外部的输入,然后将运算结果输出到指定的位置。在交互式的程序中,输入来自用户的键盘和鼠标,结果输出到用户的屏幕,甚至到其他播放设备中。而对于某些后台运行的程序,输入可能来自于外部的一些文件,运算的结果通常又需要写到其他的文件中。比如:程序在运行的过程中,会有一些关键性的信息,比如异常堆栈,外部接口调用情况等,这些都会统统写到日志文件里。sh...原创 2019-01-07 20:27:13 · 21694 阅读 · 0 评论 -
Shell编程---mysql单实例启动停止脚本
企业案例:开发mysql单实例启动停止脚本分析:首先确保已经将数据库安装成功找到mysql数据库启动的实质命令 mysqld_safe --user=mysql &找到mysql数据库停止的实质命令 mysqladmin -u -root -p&am原创 2019-01-25 15:02:06 · 469 阅读 · 0 评论 -
MySQL数据库备份脚本
概述远程或者本地备份mysql数据库,并且保存最新7天的备份内容。#!/bin/sh #define variables#the login information of your mysql db.login_user=""login_passwd="&a原创 2019-02-25 16:54:02 · 6152 阅读 · 0 评论 -
shell编程---linux的应用日志监控和定期处理
具体场景:Tomcat应用服务器产生的日志量非常大,如果不及时处理其日志,会导致服务器磁盘被塞满,从而导致应用程序无法继续正常运行。针对以上问题我们可以按照一定规则对其日志进行处理(可以是移走,也可以是删除)。规则:当Tomcat日志路径下所有日志文件总大小超过xx兆时,删除掉日期最早的日志文件,这样可以保证硬盘空间的相对稳定,也保留最近期的日志文件。解答:命令行测试[root@myho...原创 2019-03-05 15:25:08 · 428 阅读 · 0 评论 -
Linux中清空或删除大文件内容的方法
目录文章目录目录概述准备测试文件概述在 Linux 终端下处理文件时,有时我们想直接清空或删除文件的内容但又不想使用任何Linux命令行编辑器去打开这些文件。那怎样才能达到这个目的呢?在这篇文章中,我们将介绍几种借助一些实用的命令来直接清空或删除大文件内容的方法。注意: 由于在Linux系统中一切皆文件,我们需要时刻注意,确保将要清空的文件不是重要的用户文件或者系统文件。清空重要的系统文件...原创 2019-04-28 15:42:36 · 2995 阅读 · 0 评论 -
Shell编程---监控服务器整个系统CPU负载
题目要求:使用shell脚本监控服务器整个系统CPU负载分析:在对服务器进行维护时,有时也遇到由于系统 CPU(利用率)负载 过量导致业务中断的情况。服务器上可能运行多个进程,查看单个进程的 CPU 都是正常的,但是整个系统的 CPU 负载可能是异常的。通过脚本对系统 CPU 负载进行时时监控,可以在异常时及时发送告警,便于维护人员及时处理,预防事故发生。我们可以使用 vmstat 取 5 ...原创 2018-11-14 09:55:54 · 687 阅读 · 1 评论 -
Shell编程---监控(本地主机)磁盘使用情况并邮件报警
要求:监控磁盘使用情况并邮件报警分析:任何一个分区使用到80%就发送一个邮件几个人通知提醒他们邮件的使用情况;任何一个分区使用到90%以上就在邮件主题给出警告(warning);linux服务器上发送邮件程序我们使用sendmail。解答:第1步: 安装并启动sendmail服务并测试[root@myhost ~]# yum install -y sendmail mailx...原创 2018-11-08 16:43:40 · 1124 阅读 · 0 评论 -
Shell编程---监控检查某个TCP或UDP端口是否在监听
题目要求:使用Shell脚本监控检查某个TCP或UDP端口是否在监听分析:端口检测是系统资源检测经常遇到的,特别是在网络通讯情况下,端口状态的检测往往是很重要的。有时可能进程,CPU,内存等处于正常状态,但是端口处于异常状态,业务也是没有正常运行。我们可以判断指定端口是否在监听。首先使用 netstat -an 输出所有端口占用信息,然后通过 grep, awk,wc 过滤输出监听 TCP...原创 2018-11-13 17:49:57 · 5231 阅读 · 0 评论 -
Shell编程---监控url并短信报警
<!DOCTYPE html><html lang="en"><head&am原创 2017-07-23 15:31:58 · 924 阅读 · 0 评论 -
Shell编程---批量创建文件
1) 请使用for循环在指定的/yuki目录下创建10个文件,文件名分别为:yuki-1.html,yuki-2.html,yuki-3.html,.....yuki-10.html分析:所有文件名首尾相同,只是中间部分以数字的规律变化了,所以文件名可以用数字循环与首尾固定的内容进行拼接;注意一个隐形问题:就是指定的/yuki目录是否已经创建,这个需要进行判断;解答:#!...原创 2018-11-06 15:13:00 · 12104 阅读 · 0 评论 -
Shell编程---批量修改文件名
1)请使用for循环在指定的/yuki目录下创建5个文件,文件名分别为:stu_102999_1_finished.jpg stu_102999_2_finished.jpg stu_102999_3_finished.jpg stu_102999_4_finished.jpg stu_102999_5_finished.jpg 分析:所有文件名首尾都相同,只是中间的数字变化了。...原创 2018-11-06 16:48:14 · 8554 阅读 · 4 评论 -
Shell编程---监控多个(远程主机)磁盘使用情况并邮件报警
要求:监控多个(远程主机)磁盘使用情况并邮件报警分析:解答:#!/bin/shsource /etc/profile#define variabledistantIpList=('172.0.0.1' '172.0.0.2' '172.0.0.3')emailArray=('meve@qq.com' 'yuki@qq.com')for ip in ${distantIp...原创 2018-11-09 11:55:07 · 1318 阅读 · 0 评论 -
打印输出时数字位数不足时前面用0补全的问题
题目要求: 请打印出001 002 003 …099 100原创 2018-11-08 10:07:00 · 2403 阅读 · 0 评论 -
Shell编程---监控检查系统某进程CPU利用率
题目要求:使用shell脚本监控检查系统某进程CPU利用率分析:在对应用服务进行维护时,我们经常遇到由于CPU过高导致业务阻塞,造成业务中断的情况。CPU过高可能是业务量过负荷或者出现死循环等异常情况引起的。通过脚本对业务进程CPU进行时时监控,可以在 CPU 利用率异常时及时通知维护人员,便于维护人员及时分析,定位,以及避免业务中断等。如果此进程CPU利用率超过 80%(可以根据实际情况进...原创 2018-11-13 13:45:19 · 4695 阅读 · 0 评论 -
Shell编程---监控检查系统某进程内存使用量
题目要求:使用shell脚本监控检查系统某进程内存使用量分析:在对应用服务进行维护时,也经常遇到由于内存使用过大导致进程崩溃,造成业务中断的情况。例如:32 位程序可寻址的最大内存空间为 4G,如果超出将申请内存失败,同时物理内存也是有限的。内存使用过高可能由于内存泄露,消息堆积等情况。通过脚本对业务进程内存使用量进行时时监控,可以在内存使用量异常时及时发送告警,便于维护人员及时处理。我们可...原创 2018-11-13 16:29:44 · 1454 阅读 · 0 评论 -
Shell编程---监控检查系统某进程句柄使用量
题目要求:使用Shell脚本监控检查系统某进程句柄使用量分析:在对应用服务进行维护时,也经常遇到由于句柄使用 过量导致业务中断的情况。每个平台对进程的句柄使用都是有限的,例如在 Linux 平台,我们可以使用 ulimit – n 命令(open files (-n) 1024)或者对 /etc/security/limits.conf 的内容进行查看,得到进程句柄限制。句柄使用过高可能由于负...原创 2018-11-13 16:49:34 · 761 阅读 · 0 评论 -
Shell编程---批量创建用户并为每个用户设置随机密码
题目要求:批量创建10个系统账号yuki01-yuki10并为每个账户设置8位随机密码分析:注意:用户名中的数字不足两位前面用0补全的问题参考之前的博客:https://blog.csdn.net/yuki5233/article/details/83824107难点:linux下如何生成8位随机数码?参考之前的博客:https://blog.csdn.net/yuki5233/art...原创 2018-11-08 10:47:32 · 2373 阅读 · 0 评论 -
Linux中shell运算符详解
Bash 支持很多运算符,其中包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。原创 2018-07-23 16:56:50 · 15228 阅读 · 2 评论