new_content=“new_value”
遍历服务器上的配置文件
for file in $(find $config_path -name “*.conf”); do
判断文件是否包含要修改的内容
if grep -q “
o
l
d
c
o
n
t
e
n
t
"
"
old_content" "
oldcontent""file”; then
# 修改文件内容
sed -i “s/
o
l
d
c
o
n
t
e
n
t
/
old_content/
oldcontent/new_content/g” “$file”
echo “已修改文件: $file”
else
echo “文件 $file 不包含要修改的内容.”
fi
done
2. Git:
功能:专注于版本控制特性。
适用场景:对代码和配置文件进行版本管理。
优势:包括分支管理、代码回滚以及团队协作功能。
实例:运维工程师常利用Git来管理Puppet或Ansible的代码。
![](https://img-blog.csdnimg.cn/img_convert/14a8d320a102da0d8a84c5e6322c824d.png)
3. Ansible:
![](https://img-blog.csdnimg.cn/img_convert/2e9a2ad25c2a3ebb24b0ded88e614418.png)
功能:提供自动化配置、部署以及管理解决方案。
适用场景:适用于自动化服务器配置、应用部署及监控等领域。
优势:易于学习掌握、具备代理无关性,同时具备强大的模块支持功能。微信搜索公众号:架构师指南,回复:架构师 领取资料 。
实例:运维工程师通常用Ansible来批量配置服务器的防火墙规则。
使用Ansible来配置服务器的防火墙规则:
安装Ansible: 首先,需要在你的本地机器上安装Ansible。你可以通过pip进行安装:pip install ansible。
配置Inventory: 在Ansible中,你需要定义一个inventory文件,这个文件列出了你想要配置的所有服务器。例如,你可以创建一个文件,叫做hosts.ini,然后在文件中列出所有的服务器IP或主机名。
编写Playbook: 接下来,你需要创建一个Playbook,定义你想要执行的防火墙规则。例如:
- hosts: all
become: yes
tasks:- name: Install firewalld
apt: name=firewalld state=present - name: Enable firewalld
service: name=firewalld enabled=yes state=started - name: Open port 80/tcp
firewalld: port=80/tcp permanent=true state=enabled - name: Open port 22/tcp
firewalld: port=22/tcp permanent=true state=enabled
在这个Playbook中,我们首先安装firewalld,然后启动它,接着打开80和22端口。
运行Playbook: 最后,你可以运行这个Playbook,应用到你的服务器上。你可以使用下面的命令:ansible-playbook -i hosts.ini playbook.yml。
- name: Install firewalld
4. Prometheus:
![](https://img-blog.csdnimg.cn/img_convert/2ffba4b17f2a6ff1b123b42f20f6a99b.jpeg)
功能:专长于监控与警报功能。
适用场景:适合于系统性能监控、服务状态监控等需求。
优势:开源行事,灵活的数据模型以及强大的查询语言。
实例:运维工程师常借助Prometheus监控服务器的CPU、内存使用状况。
5. Grafana:
![](https://img-blog.csdnimg.cn/img_convert/2a2818b4472e6e7405b13fc246a91d08.png)
功能:专注于数据可视化和仪表板功能。
适用场景:适用于展示Prometheus、MySQL等各类数据。
优势:美观大方,支持多种数据源,且具备灵活的仪表板定义能力。
实例:运维工程师常使用Grafana展示服务器的实时CPU使用状况。
6. Docker:
功能:提供容器化技术解决方案。
适用场景:适用于应用部署、环境隔离及快速扩展等需求。
优势:轻量化、部署迅速,以及可确保一致的运行环境。
实例:运维工程师通常运用Docker部署Web应用。
7. Kubernetes (K8s):
功能:专长于容器编排与管理功能。
适用场景:适用于容器化应用的扩展、滚动更新及高可用特性。
优势:自动容器编排、弹性伸缩以及自我修复等功能。
实例:运维工程师会运用Kubernetes管理Docker容器集群。
8. Nginx:
功能:提供Web服务器及反向代理功能。
适用场景:适用于静态资源服务及负载均衡操作。
优势:具备高性能、稳定性,同时配置过程简便易行。
实例:运维工程师常将Nginx作为Web应用的前端代理和负载均衡器。
9. ELK Stack (Elasticsearch, Logstash, Kibana):
功能:专注于日志收集和分析功能。
适用场景:适用于系统日志以及应用日志的集中管理和分析。
优势:实时搜索功能、强大的数据分析能力,以及直观的仪表板展示能力。
实例:通过运用ELK Stack,可以有效分析服务器的访问日志,找出访问量最大的网页。
10. Zabbix:
功能:擅长综合网络监控功能。
适用场景:适用于服务器性能监控、网络监控及服务监控操作。
优势:开源、功能全面,同时具备良好的报警机制。
实例:利用Zabbix,可以监控服务器的网络带宽使用情况,并在超出阈值时触发报警信号。
互动环节:对于以上列举的工具,您最常使用的是哪一个呢?您认为这些工具在实际使用中有哪些方面表现最为出色?或者是否有其他您认为值得推荐的运维工具?非常期待您的留言共享!
来源于:小明随身杂谈
### 最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
### 资料预览
给大家整理的视频资料:
![](https://img-blog.csdnimg.cn/img_convert/670ec372f6bcd9757ed55825b3cd7a28.png)
给大家整理的电子书资料:
![](https://img-blog.csdnimg.cn/img_convert/a07f20381828c7732eaa67bb2d4638cc.png)
**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**