- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 Shell编程---数组学习总结
概述array作为一种数据结构,在所有高级语言编程中都是有直接提供和实现的,shell 肯定也是会使用到的。数组的声明怎样声明一个数组变量?假设数组的变量名为array。直接赋值(根据数组的下标进行赋值)array[0]="a" array[1]=&a
2018-11-23 15:51:40 244
原创 Shell编程---自动删除清理过期日志
要求:根据文件最后修改时间删除清理指定目录下面的文件,并在/var/log/deletelog下面生成按月的删除清理日志分析:在查找文件时要想不受文件名限制 我们采用文件最后修改时间mtime进行查找,而且还适用于删除过期备份。find 目录 -type f 查找文件时会根据换行来输出查找的文件,而我们希望给xargs的参数是按照空格输出的,否则直接结合xargs使用会有一定的影响。(...
2018-11-19 17:23:53 949
原创 Shell编程---监控网站目录文件是否被恶意篡改(md5sum指纹)
题目要求:使用shell脚本监控网站目录(/var/html/www)中的文件是否被篡改,如果有就打印出改动的文件名并用邮件告警。分析:什麽是恶意篡改?只要是未进过许可改动的都是恶意篡改。文件被篡改了,会有特征:a.文件大小可能会发生变化;b.文件的修改时间会发生变化(文件测试符ot、nt等);c.文件内容会发生变化(md5sum指纹);d.文件目录中的文件被删除,或者文件目录中有其...
2018-11-14 16:02:14 1192
原创 Shell编程---监控服务器整个系统CPU负载
题目要求:使用shell脚本监控服务器整个系统CPU负载分析:在对服务器进行维护时,有时也遇到由于系统 CPU(利用率)负载 过量导致业务中断的情况。服务器上可能运行多个进程,查看单个进程的 CPU 都是正常的,但是整个系统的 CPU 负载可能是异常的。通过脚本对系统 CPU 负载进行时时监控,可以在异常时及时发送告警,便于维护人员及时处理,预防事故发生。我们可以使用 vmstat 取 5 ...
2018-11-14 09:55:54 682 1
原创 Shell编程---监控检查某个TCP或UDP端口是否在监听
题目要求:使用Shell脚本监控检查某个TCP或UDP端口是否在监听分析:端口检测是系统资源检测经常遇到的,特别是在网络通讯情况下,端口状态的检测往往是很重要的。有时可能进程,CPU,内存等处于正常状态,但是端口处于异常状态,业务也是没有正常运行。我们可以判断指定端口是否在监听。首先使用 netstat -an 输出所有端口占用信息,然后通过 grep, awk,wc 过滤输出监听 TCP...
2018-11-13 17:49:57 5218
原创 Shell编程---监控检查系统某进程句柄使用量
题目要求:使用Shell脚本监控检查系统某进程句柄使用量分析:在对应用服务进行维护时,也经常遇到由于句柄使用 过量导致业务中断的情况。每个平台对进程的句柄使用都是有限的,例如在 Linux 平台,我们可以使用 ulimit – n 命令(open files (-n) 1024)或者对 /etc/security/limits.conf 的内容进行查看,得到进程句柄限制。句柄使用过高可能由于负...
2018-11-13 16:49:34 758
原创 Shell编程---监控检查系统某进程内存使用量
题目要求:使用shell脚本监控检查系统某进程内存使用量分析:在对应用服务进行维护时,也经常遇到由于内存使用过大导致进程崩溃,造成业务中断的情况。例如:32 位程序可寻址的最大内存空间为 4G,如果超出将申请内存失败,同时物理内存也是有限的。内存使用过高可能由于内存泄露,消息堆积等情况。通过脚本对业务进程内存使用量进行时时监控,可以在内存使用量异常时及时发送告警,便于维护人员及时处理。我们可...
2018-11-13 16:29:44 1449
原创 Shell编程---监控检查系统某进程CPU利用率
题目要求:使用shell脚本监控检查系统某进程CPU利用率分析:在对应用服务进行维护时,我们经常遇到由于CPU过高导致业务阻塞,造成业务中断的情况。CPU过高可能是业务量过负荷或者出现死循环等异常情况引起的。通过脚本对业务进程CPU进行时时监控,可以在 CPU 利用率异常时及时通知维护人员,便于维护人员及时分析,定位,以及避免业务中断等。如果此进程CPU利用率超过 80%(可以根据实际情况进...
2018-11-13 13:45:19 4688
原创 Shell编程---监控检查进程是否存活
题目要求:使用shell脚本监控检查进程是否存活分析:对于非守护进程我们一般都会想到直接去判断 “ps -ef |egrep xx |egrep -v egrep” 是否有内容;对于daemon守护进程,通常都会有自己的pid或者lock文件,然后可以通过检查这些文件是否存在来判断进程是否存活。然而有些异常情况下,pid文件存在进程却并不存在。因此并不能依赖进程的pid文件来检测进程是否存活...
2018-11-13 11:30:27 5338
原创 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 1316
原创 Shell编程---监控(本地主机)磁盘使用情况并邮件报警
要求:监控磁盘使用情况并邮件报警分析:任何一个分区使用到80%就发送一个邮件几个人通知提醒他们邮件的使用情况;任何一个分区使用到90%以上就在邮件主题给出警告(warning);linux服务器上发送邮件程序我们使用sendmail。解答:第1步: 安装并启动sendmail服务并测试[root@myhost ~]# yum install -y sendmail mailx...
2018-11-08 16:43:40 1122
原创 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 2362
原创 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 8541 4
原创 Shell编程---批量创建文件
1) 请使用for循环在指定的/yuki目录下创建10个文件,文件名分别为:yuki-1.html,yuki-2.html,yuki-3.html,.....yuki-10.html分析:所有文件名首尾相同,只是中间部分以数字的规律变化了,所以文件名可以用数字循环与首尾固定的内容进行拼接;注意一个隐形问题:就是指定的/yuki目录是否已经创建,这个需要进行判断;解答:#!...
2018-11-06 15:13:00 12085
FastDFS+Nginx安装部署软件
2018-08-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人