运维岗位需要什么技术呢?

最近看到不少小伙伴都在问,想从事运维岗位应该学习什么技能?哪些是基础呢?能指点迷津吗?今

正好我这里同事离职,我给他写了点规划,你可以参考看看。https://blog.csdn.net/qq_34674660/article/details/130600802?spm=1001.2014.3001.5501

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7602267
  • 你也可以参考下这篇文章:功能测试是什么?怎么才能做好?看完你就懂了
  • 除此之外, 这篇博客: 测试工程师有没有可能被替代或者说淘汰?中的 软件测试为什么很难被淘汰? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 不是因为测试有自动化测试,性能测试等等高端的技术。

    最核心最本质的点是因为测试部分工作依靠的是人的非理性因素!!!

    恰恰这点也是手工测试无可替代的原因!!!

    我来说下测试最核心的目的就是找出软件的潜在问题,也就是bug。

    一个软件出错有规律可循吗?

    答案当然是没有,这就更加依赖人的非理性因素,需要人根据软件实际的情况有针对性的制定测试的流程和方法以及检查的各个方面。

    我简单通俗点,依赖人的情感因素,我想问你造个机器能造出情感来吗???

    软件测试最核心的优势是能够随着经验的增长,能够发现更多软件的问题,保证测试覆盖率!!!

    至于自动化测试,更多的是基于各个业务流程稳定之后,我们把很多执行次数频繁,功能稳定的业务用代码实现自动运行,节省手工劳动力罢了,自动化测试用例依然是来源于手工测试!!!

    附送一张软件测试方向图谱

    最后: 大家可以加入的我的测试交流群310357728! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。还有同行一起交流
     

  • 您还可以看一下 李春苗老师的软件测试入门及提升课程中的 什么是软件测试需求?小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    答案:

    作为一名资深的IT专家,如果你想从事运维岗位,建议你需要学习以下基础技能:

    1. 网络基础知识:了解TCP/IP协议、HTTP协议、DNS、FTP、SMTP、SSL等基础网络概念,掌握基本的网络排错技能。

    2. 操作系统基础知识:熟悉Linux/Unix系统,掌握文件系统、进程、线程、网络管理等基本操作。

    3. Shell编程语言:掌握Shell编程语言,能够编写Shell脚本进行自动化运维,比如安装软件、备份恢复等操作。

    4. 虚拟化技术:熟悉虚拟化技术,如VMware、KVM等,能够熟练搭建虚拟化环境和管理虚拟服务器。

    5. 自动化运维工具:掌握常用的自动化运维工具,如Ansible、Puppet、Chef等,实现快速自动化部署、配置管理和代码发布等。

    6. 监控系统:熟悉监控系统,如Zabbix、Nagios、Cacti等,能够配置监控项、报警规则等。

    7. 数据库基础知识:了解数据库概念和基本操作,如MySQL、Oracle、Redis等。

    参考代码和示例:

    1. 网络基础知识:可以通过学习相关教程和书籍,如《计算机网络》、《TCP/IP网络编程》等,建议亲自搭建网络环境,实践操作。

    2. 操作系统基础知识:熟悉Linux系统,可以通过学习相关的书籍和教程,如《鸟哥的Linux私房菜》等,建议亲自搭建Linux系统,熟悉Linux系统的基本操作。

    3. Shell编程语言:掌握Shell编程语言,可以通过学习书籍和教程,如《Shell编程范例》等。以下为Shell脚本示例,用于备份文件:

    1
    2
    3
    4
    5
    #!/bin/bash
    SRC=/home/user/data
    DEST=/data/backup
    FILENAME=$(date +%Y%m%d%H%M%S).tar.gz
    tar -zcvf $DEST/$FILENAME $SRC
    
    1. 虚拟化技术:可以通过安装VMware或KVM等软件,建立虚拟环境并配置虚拟机。以下为KVM的虚拟机创建示例:
    # 安装KVM软件包
    yum install kvm -y
    
    # 创建一个虚拟机镜像
    qemu-img create -f qcow2 /var/lib/libvirt/images/myvm.qcow2 10G
    
    # 安装CentOS虚拟机系统
    virt-install --name=myvm --ram=2048 --disk=path=/var/lib/libvirt/images/myvm.qcow2 \
    --location=http://mirrors.163.com/centos/7/os/x86_64/ --network bridge=br0 \
    --os-type=linux --os-variant=centos7 --extra-args "console=ttyS0"
    
    1. 自动化运维工具:可以通过学习相关工具的文档和教程,如Ansible官方文档、Puppet学习教程等。以下为Ansible实现自动化部署MySQL服务示例:
    ---
    - name: Install MySQL 5.6
      hosts: db_servers
      become: true
      tasks:
        - name: Install MySQL
          yum:
            name: mysql-server
            state: present
        - name: Start MySQL
          service:
            name: mysqld
            state: started
            enabled: true    
    
    1. 监控系统:可以通过学习相关监控系统的文档和教程,如Zabbix官方文档、Nagios入门指南等。以下为Zabbix添加监控项示例:
    # 执行以下SQL语句添加监控项
    INSERT INTO items (type, snmp_community, disabled, status, value_type, delay, hostid, key_, name, units) VALUES (2, '', 0, 0, 3, 60, 10139, 'system.cpu.load[all,avg5]', 'CPU负载', '');
    
    1. 数据库基础知识:可以通过学习数据库的书籍和教程,如《MySQL必知必会》、《Redis设计与实现》等。以下为MySQL使用命令行备份数据库示例:
    # 备份test数据库到test.sql文件
    mysqldump -u root -p test > test.sql
    
    # 恢复test.sql文件到本地test_backup数据库
    mysql -h localhost -u root -p test_backup < test.sql
    

    暂时没有更多。