日常巡检:查看所需系统状况时执行该脚本;参数超过阈值时报警
自动化部署:一键部署 LNMP 等架构,省时省力
日志分割:日志文件太大会不利于分析排查故障,比如 Nginx 没有类似 Apache 的日志分割处理功能,但可以通过撰写脚本配合周期性计划性任务来实现日志的自动切割
耦合服务:例如 Rsync+Inotify,可通过 shell 脚本实现自动监控同步功能
#!/bin/bash
INOTIFY_CMD="inotifywait -mrq -e create,delete,move,modify,attrib /opt/xcf1/"
#INOTIFY_CMD变量:持续监控 /opt/xcf1 目录中的创建,删除,移动,修改,改变时间的操作
RSYNC_CMD="rsync -azH --delete --password-file=/etc/server.pass /opt/xcf1/ xixi@192.168.126.11::wwwroot"
#RSYNC_CMD变量:使 xixi 用户,/etc/server.pass 密钥文件,将 /opt/xcf1 目录下的文件进行压缩,归档,保留硬链接文件
#并同步至 192.168.126.11 的共享模块定义的目录 /var/www/html 下,并删除差异性内容,保持一致性
$INOTIFY_CMD | while read DIRECTORY EVENT FILE
#持续监控...
do
if [ $(pgrep rsync | wc -l) -le 0 ] ; then
#如果服务并未启动,则执行同步
$RSYNC_CMD
fi
done
类似气泡上涌的动作,会将数据在数组中从小到大或从大到小不断的向前移动,故称冒泡排序
基本思想:
算法思路:
例:
#!/bin/bash
zxc=(50 30 20 10 40)
#定义数组并赋值
echo "原数组的元素顺序为:${zxc[*]}"
#输出现在的数组元素顺序
for ((i=1;i<${#zxc[*]};i++))
#外部循环,比较轮数为数组长度减一,即从1开始,小于5次
do
for ((a=0;a<${#zxc[*]}-i;a++))
#内部循环,比较索引对应元素的范围
#索引为0时为第一个元素,索引值小于5-i,即5个元素比较4次,
do
if [ ${zxc[$a]} -gt ${zxc[$a+1]} ];then
#若第一个元素大于第二个元素,则
temp=${zxc[$a]}
#将第一个元素的值赋予给新变量temp
zxc[$a]=${zxc[$a+1]}
#将第二个元素的值赋予给第一个元素
zxc[$a+1]=$temp
#将变量的值赋予给第二个元素,从而完成位置交换!
fi
done
done
echo "经过冒泡排序后,数组顺序为:${zxc[*]}"
#输出结果
在 shell 脚本之外有一些现成的自动化运维管理工具,比如 ansible,能够解决并发执行多任务的问题
使用后台执行任务的方式来实现任务的“多进程化”
&:后台执行
wait:等待前面的后台任务全部完成才往下执行
cat xxx | awk '{print$x}' | sort | uniq -c | sort -nr | head -10
'//uniq -c:去重;sort -nr:排序,n表示用数字大小排序,r表示反向排序'
磁盘占用:df -hT
内存信息:cat /proc/meminfo 或 free -m
CPU:cat /proc/cpuinfo
I/O(性能):iostat istop(输出磁盘IO和CPU的统计信息)
(yum install sysstat)
ss:获取socket 统计信息,与netstat类似
能够显示更多更详细的有关TCP和连接状态的信息,比netstat更快速更高效
netstat -nautp | grep [...]
ss -nautp | grep [...] '//可检测端口占用情况'
iotop:是一个用来监视磁盘I/O使用状况的 top 类工具
可监测到哪一个程序使用的磁盘IO的信息(yum -y install iotop)
lsof:用于查看进程打开的文件,打开文件的进程,进程打开的端口(TCP/UDP)
是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行
--
查询日志的一些方法:
cat
vim
systemctl status
journal -u [指定查看服务日志]
journal -xe [查看系统日志]
tail -f [……]
网络就像数据的高速公路:网络到底传输什么数据?到底怎么传输的?对于正常使用网络的用户,只关心能不能使用,他们可以不知道其中的原理和过程
但是作为网络工程师就必不可少的得知道期间的原来,以及出现问题的时候知道如何入手。这时候我们就得有一个称心的工具简化排障过程
抓包软件把看不到摸不到的数据包,呈现出来,抓包软件还对数据包按照层级结构进行划分,对故障分析和排障带来极大的便利
wireshark:
tcpdump:
系统引导是操作系统运行的开始,在用户能够正常登陆到系统之前,Linux 的引导过程完成了一系列的初始化任务,并加载必要的程序和命令终端,为用户登录做好准备
本文转载自微信公众号「SQL数据库」,作者丶平凡世界 。转载本文请联系开发公众...
idea官方推送了2020.2.4版本的更新,那么大家最关心的问题来了,之前激活idea202...
本文转载自微信公众号「SH的全栈笔记」,作者SH。转载本文请联系SH的全栈笔记公...
CKeditor,以前叫FCKeditor,已经使用过好多年了,功能自然没的说。最近升级到3....
来源:DeepenStudy 漏洞文件:js.asp % Dimoblog setoblog=newclass_sys oblog.a...
本文实例讲述了AJAX+Servlet实现的数据处理显示功能。分享给大家供大家参考,具...
前言 项目开发中不管是前台还是后台都会遇到烦人的null,数据库表中字段允许空值...
问题:我们在做flex的开发中,如果用到别人搭建好的框架,而别人的server名称往...
在Flash Player 10.1及以上版本中,adobe新增了全局错误处理程序UncaughtErrorEv...
大家好,我是狂聊君。 今天来聊一聊 Mysql 缓存池原理。 提纲附上,话不多说,直...