Linux集群和自动化维2.1 Shell和Python语言的简单介绍

简介:

第2章


生产环境下的Shell和Python脚本

接触Linux系统十多年了,Shell和Python脚本都已经完全融入笔者的生活中了。虽然Shell脚本只是一个简单的解释型语言,不受开发人员的重视,但对于系统运维工程师来说,它的作用举足轻重,它就像我们的瑞士军刀一样,可以帮助我们简化日常的工作并减少工作量。在系统维护工作中,Shell脚本常常能比用C或C++语言编写的程序更快地解决相同的问题,此外,Shell脚本具有很好的可移植性,有时跨越Unix与POSIX兼容的系统,只须略作修改即可,甚至不必修改即可使用Shell脚本。不过,Shell脚本毕竟是一门系统脚本语言,所以很多高级语言的特性它都不具备,比如面向对象和丰富的第三方类库支持,不过这一点我们可以用Python脚本来弥补。


2.1 Shell和Python语言的简单介绍


Shell是大家熟悉的一种脚本语言,这里简单介绍下它在日常工作中的应用。

1)配合Crontab帮助我们定时执行任务,就像MS的计划任务一样。很多朋友向笔者反映说Crontab不能做秒级的计划任务,其实只要写一个Shell脚本,用while..do..done循环后放入后台执行就可以实现秒级的计划任务了。不过要记得避免出现死循环的问题。

2)开发Nagios监控插件,比如我们的线上的许多业务需求都是通过Shell语言开发的。

3)配合iptables可形成方便又安全的iptables脚本,还可保护主机的安全。

4)文本过滤筛选和大数据日志分析,笔者公司的许多离线数据都是通过Shell配合Python进行分析处理的。

5)可以写强大的系统性能和状态监控脚本,并配合Keepalived来实现系统的高可用。

6)定时备份任务和rsync同步重要的服务器资料,这是Shell的基本功能。

7)自动化安装系统环境,规范化操作,缩减项目实施的时间和误差。

Shell的强大和其他未挖掘出的功能需要我们在日常工作中不断地发现和总结,不过,在感叹Shell脚本管理功能强大的同时,也应该清楚Shell脚本在开发功能上的不足之处,所以这里向大家推荐Python,它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性,运行速度也不慢,适合于网站开发,正好可以弥补Shell脚本的不足。

Python是一种动态解释型的编程语言。Python功能强大,可支持面向对象、函数式编程,同时还可以在Windows、Linux和Unix等多个操作系统上使用,因此被称为“胶水语言”。Python的简洁性、易用性使得开发过程变得简练,特别适用于快速应用开发。笔者也发现,Python代码在其所在公司的系统中无处不在,在线上Github版本管理库中的比重也长期占据第一、第二的位置,Python的具体应用和流行原因在后续章节里会详细说明。

相关文章
|
7天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
21天前
|
Linux Shell Python
Linux执行Python脚本
Linux执行Python脚本
26 1
|
23天前
|
存储 负载均衡 索引
linux7安装elasticsearch-7.4.0集群配置
linux7安装elasticsearch-7.4.0集群配置
109 0
|
23天前
|
Web App开发 Python
在ModelScope中,你可以使用Python的浏览器自动化库
在ModelScope中,你可以使用Python的浏览器自动化库
15 2
|
1月前
|
存储 BI 数据处理
Python自动化 | 解锁高效办公利器,Python助您轻松驾驭Excel!
Python自动化 | 解锁高效办公利器,Python助您轻松驾驭Excel!
|
1月前
|
JavaScript 前端开发 Python
【python自动化】Playwright基础教程(三)定位操作
【python自动化】Playwright基础教程(三)定位操作
48 0
|
1月前
|
Python
【python自动化】Playwright基础教程(五)事件操作②悬停&输入&清除精讲
【python自动化】Playwright基础教程(五)事件操作②悬停&输入&清除精讲
47 0
|
10天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
【4月更文挑战第9天】本文探讨了Python在自动化测试中的应用,强调其作为热门选择的原因。Python拥有丰富的测试框架(如unittest、pytest、nose)以支持自动化测试,简化测试用例的编写与维护。示例展示了使用unittest进行单元测试的基本步骤。此外,Python还适用于集成测试、系统测试等,提供模拟外部系统行为的工具。在脚本编写实践中,Python的灵活语法和强大库(如os、shutil、sqlite3、json)助力执行复杂测试任务。同时,Python支持并发、分布式执行及与Jenkins、Travis CI等持续集成工具的集成,提升测试效率和质量。
|
14天前
|
jenkins 测试技术 持续交付
软件测试|docker搭建Jenkins+Python+allure自动化测试环境
通过以上步骤,你可以在Docker中搭建起Jenkins自动化测试环境,实现Python测试的自动化执行和Allure报告生成。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
34 6
|
17天前
|
人工智能 Ubuntu 机器人
【ubuntu】 Linux(ubuntu)创建python的虚拟环境
【ubuntu】 Linux(ubuntu)创建python的虚拟环境