注册 登录
  • 欢迎访问"运维那点事",推荐使用Google浏览器访问,可以扫码关注本站的"微信公众号"。
  • 如果您觉得本站对你有帮助,那么可以扫码捐助以帮助本站更好地发展。

一个简单的web自动化实现

闲聊 彭东稳 9875次浏览 已收录 0个评论

现在“Devops”开发型运维可以说是非常火,对于运维来说,前面加一个开发型的意义是什么呢?我也搞不太清楚,就知道要求更高了。个人理解“开发型运维”最起码的几点就是做到运维自动化,提高工作效率,同时减少人工操作带来的错误率等等。这不是一篇谈开发型运维的文章,言归正传,对于自动化运维来说,给我们运维人的第一个感觉就是小公司用不上(或开源软件)只有大公司才需要(开源加自主开发)。其实对于自动化运维的理解可小可大,无非就是小公司就简单点,大公司就复杂点。比如:写一个脚本来处理一系列工作也算自动化了、在一个脚本之上再做出简单web界面也算自动化、把脚本+web根据业务写的复杂最后包装成一个程序也是自动化(可扩展性、通用性、美观性)。

做Linux运维的基本都会利用Shell脚本来处理日常工作,如果你在Shell脚本的基础上简单加工一下变成一个可web化执行的是不是逼格更高了呢?当然逼格只是我们精神上的追求,同时对于实用性也是有很多的。这样的一个简单的web+脚本能做什么呢?

1)简单日志查询

2)故障处理(有没有半夜开电脑连接服务器去处理经常碰到的一个故障)

3)可移动设备操作

自定义脚本操作的绝大部分操作都可以通过web来处理,同时练习这样的小程序理解每个点之间的操作逻辑,对于进军开发运维又进了一步。

下面提供一个最简单的web自动化,就是可以在前端页面点击,然后后端执行即可。本案例是使用HTML+PHP+Shell实现的一个简单web自动化。

前端可接受参数查询日志,web端效果如下:

一个简单的web自动化实现

 

 

下面分别来了解一下HTML+PHP+Shell这三个部分代码,如下:

HTML部分

PHP部分

Shell部分

PS:前端通过选择第一游戏或第二游戏,然后输入游戏角色ID,输入要查询的开始日期和结束日期,开始查询。通过PHP把我们输入的参数都传给后端Shell脚本执行。

如果是做一个故障处理的界面呢?其实原理是一样的。只是修改部分参数即可。

这里要注意:

PHP上的httpd服务器的默认运行账号要更改,这里使用什么账号就需要使用此账号跟远程主机的ROOT进行连接,也就是使用此账号生成公钥和私钥,然后把公钥传到远程主机root的家目录下。

我这里HTML+PHP服务器上使用log账号运行HTTPD服务器,然后使用log账号生成私钥和公钥,最后把log生成的公钥传给58.10.20.12/13主机的root目录。为什么要这么做呢?因为这个PHP脚本是HTTPD调用的,所以运行HTTPD的账号来运行这个PHP脚本运行这条指令”/usr/bin/ssh root@58.10.20.12”,所以也就是说需要log账号去连接远程主机。


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (0)or分享 (0)
关于作者:

您必须 登录 才能发表评论!