当前位置: 首页 > wzjs >正文

长沙建设网站网站推广seo优化

长沙建设网站,网站推广seo优化,烟店网站建设,怎么做flash网站设计文章目录公司任务脚本思路脚本源码及写作过程执行测试又遇到问题问题解决总结公司任务 王同学刚刚入职,就被安排了一项任务,据说还比较紧急。 公司一共有200多台服务器,要求王同学统计一下每台服务器的IP,以及各个进程的数量。 …

文章目录

    • 公司任务
    • 脚本思路
    • 脚本源码及写作过程
    • 执行测试
    • 又遇到问题
    • 问题解决
    • 总结

公司任务

王同学刚刚入职,就被安排了一项任务,据说还比较紧急。
公司一共有200多台服务器,要求王同学统计一下每台服务器的IP,以及各个进程的数量。

王同学刚刚手工查询了10台就打退堂鼓了,这一条条的命令干下去得加班到几点。

Alt

这时候一个念头突然闪现在王同学的脑海里: 一切自动化都是以手工能实现为基础的,那我现在已经能够手工实现了,是否可以试试自动化呢?

说干就干,不服就直接上脚本

脚本思路

我们在这个脚本中,统计如下信息:

  1. 总进程的数量
  2. running的进程数
  3. stoped 进程数量
  4. sleeping 进程的进程数
  5. zombie进程的进程数

这里面应该还包括服务器的IP,每台服务器执行这个脚本,我们可以用ansible批量分发,然后执行完成后进行收集,或者直接导入某个文件中进行数据处理。

脚本源码及写作过程

在脚本中我们先定义各类需要统计的进程数变量,比如running表示正在运行的进程, sleeping表示睡眠中的进程。

使用for循环遍历,然后用case语句进行承接
没遍历出对应的编号记录,就在当前的case分支里加1,最后统计进程的结果即可

统计 Linux 进程相关数量信息
#!/bin/bash
# 统计 Linux 进程相关数量信息
running=0
sleeping=0
stoped=0
zombie=0
# 在 proc 目录下所有以数字开始的都是当前计算机正在运行的进程的进程
PID
# 每个 PID 编号的目录下记录有该进程相关的信息
for pid in /proc/[1‐9]*
doprocs=$[procs+1]   ## 每次循环加1stat=$(awk '{print $3}' $pid/stat)
# 每个 pid 目录下都有一个 stat 文件,该文件的第 3 列是该进程的状态信case $stat inR)## running进程running=$[running+1];;T)## stoped进程stoped=$[stoped+1];;S)sleeping=$[sleeping+1];;Z)## 僵尸进程zombie=$[zombie+1];;esac
done
echo "进程统计信息如下"
echo "总进程数量为:$procs"
echo "Running 进程数为:$running"
echo "Stoped 进程数为:$stoped"
echo "Sleeping 进程数为:$sleeping"
echo "Zombie 进程数为:$zombie"

执行测试

测试结果如图:
在这里插入图片描述
这里面好像少了IP, 于是把IP添加上:
ip=ifconfig |grep inet |awk '{print $2}'

通过这个命令,可以直接获取到IP地址,并输出到屏幕上,接下来就是使用ansible进行批量分发了。

又遇到问题

王同学没有学过ansible,临时学也不赶趟,有没有不适用ansible进行分发的方法

于是王同学向我请教

问题解决

这里我们其实可以使用ssh进行分发,不使用ansible
操作步骤如下:

  1. 创建一个文件,里面写上要分发的服务器IP地址
  2. 写一个脚本遍历这些IP,然后做一个SSH免密钥登录
  3. 最后在脚本里SCP给每台服务器对应的IP分发到B服务器
  4. 在脚本中加入执行完的结果要导入到本地的某个文件中
  5. 在用scp命令拷贝回A服务器的特定路径
  6. 最后在A服务器写个脚本对拷贝过来的200个文件进行处理

所以到这里问题就变成了如何将目录下多个文件合并成一个文件。

我们其实使用一条命令就能搞定:

find ./ -name *.txt |xargs cat > total.txt

这种方式没有添加换行符,有时候看起来比较难受。 如果需要使用换行符的话可以用下面的命令

设置换行符为 ^J

find ./ -name *.txt |xargs sed ‘a^J’ > total.txt

到这里我们的问题就解决了。

总结

其实你会看到,我们在写脚本的过程中,并不是一次写好的,而是解决好一个问题,同时伴随着出现另一个问题, 这时候我们在解决第二个问题。

直到全部解决后,在考虑是否要优化脚本。

很多小伙伴没有优化的习惯,因为大多数时候我们写完脚本,去完成了工作,也就把脚本放在一边了,如果你想跟深入的提高自己的能力,一定要对脚本进行优化。

http://www.dtcms.com/wzjs/118954.html

相关文章:

  • 网站建设作业多少钱免费私人网站建设平台
  • 网站开发属于哪一类济南seo
  • 唯品会的网站建设关键词工具
  • 邢台做网站可信赖快速排名软件seo系统
  • 山东建设局网站首页凤凰军事新闻最新消息
  • 可以自己做网站百度一下打开
  • 广州英文外贸seo网站优化谷歌google play官网
  • 公司网站高端公众号开发网站公司
  • 深圳做网站哪家公司专业广州最新疫情情况
  • 荔湾企业网站建设长沙正规竞价优化推荐
  • 网站平台被骗了怎么办百度刷排名优化软件
  • 网站设计风格猪八戒网接单平台
  • 南京电商网站建设技术培训平台
  • 长春网站制作专业合肥网络优化公司有几家
  • 医院做网站需要去备案站长工具权重查询
  • 株洲市哪里有做公司官方网站唯尚广告联盟平台
  • 网站怎样在360做优化客源引流推广app
  • 1688跨境电商平台长沙靠谱seo优化
  • 网站建设数据培训机构招生7个方法
  • 做网站最好的网络公司如何做企业网站
  • 深圳网站制作公司售后运营怎么做
  • 网站错误404seo公司费用
  • 网监网站备案游戏代理免费加盟
  • 网站空间商漯河seo公司
  • 济宁网站建设哪家好seo外包公司排名
  • 高邮建设网站最新国际新闻
  • 济南网站建站模板如何在百度推广自己的产品
  • 北京有多少家网站阿里巴巴国际站关键词推广
  • 交互网页设计教程品牌seo培训咨询
  • 做网站就上凡科建设教育培训平台