| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 【自动化】第二篇-shell流程自动化 -> 正文阅读 |
|
[系统运维]【自动化】第二篇-shell流程自动化 |
图片来自网络 摄影|Bestviewstock ----------------------------------------------------------◇?背景 ◇--------------------------------------------------------- 最近,运维的同学经常写一些东西到linux服务器上,我需要定期的将这些东西(日志)获取到,然后处理发送到微信群里。(【打卡】友好机器人🤖给你提醒,企微用起来) 第一步想到的就是:如果文件下产生了日志,运维的同学就通知我,我立马一顿操作猛如虎,然后运行几个脚本,带几个参数,搞定。但是有更加自动化的方法吗? 有! #1开动脑筋 这种场景我似乎遇到过很多次了。核心涉及用一个文件标记📌上一状态T0,然后不断检测新的日志文件,只要当前检查状态T1和上一状态T0不一致,则产生新的动作,更新标记。否则,就不执行操作。 最好用来比较同时又能够区别不同的文件的就是时间戳了。${new_version}记录了当前最新的文件,${last_version}标记了上一最新版本文件。
#2再进一步 但是如何拿到最新的文件呢? 这个在python里面好办,直接获取文件列表,正序排序取最后一个就是了。那么shell中类似的是怎么做的呢? 很简单:
$(ls)本身就是排序好了的,转成file_arr后,直接取最后一个${file_arr[-1]}就得到了最新的文件。文件可能有各种各样的后缀(形如1633701622.csv,1633701282.tar.gz等)。那就直接截取前10个得到版本号,就可以直接比较了。 #3有效封装 wechat_robot.py模块可以进行有效封装,适用大多数场景
? #4消息转图片 但是有时候,消息还是图片好看。那就需要常见的两个python库了。prettytable和ImageDraw。 这个库可以有效的把string转成图片。 ? ?
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 18:28:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |