What are the basic skills that Linux operation and maintenance engineers must master?

thumbnail

Linux operation and maintenance engineers are more suitable for beginners, but if you want to continue to develop and get a higher salary, then I suggest you learn the skills of Linux operation and maintenance engineers for the purpose of cloud computing architects & SRE engineers.

What is the relationship between the two? To become an SRE engineer, you need to go through two stages, one is Linux operation and maintenance, and the other is Linux cloud computing engineer. There is a progressive and inclusive relationship between the three, which means that the skills mastered by SRE engineers must also be possessed by Linux operation and maintenance. , but the skills that Linux operation and maintenance do not have, SRE also has.

This is why I suggest that you take the SRE as the criterion to look at the skills of Linux operation and maintenance, because it is more comprehensive, deeper and more accurate, and it also pays more.

So what skills do LinuxSRE engineers need? (Note that the SRE skills here also refer to the skills of Linux operation and maintenance engineers)

🔺Stage 1: Beginner Basics

1. Linux basics

At the beginning, you need to be familiar with Linux/Windows operating system installation, directory structure, startup process, etc.

2. Basics of Linux users and permissions

3. Advanced Linux system process management

4. Linux efficient text and file processing commands (vim, grep, sed, awk, find and other commands)

5. Basics of Shell Script Programming

Master the basic syntax structure of Shell and be able to write simple scripts.

🔺The second stage: Intermediate advanced

Intermediate and advanced requires in-depth study of upper-layer applications and services after fully understanding Linux principles and basic knowledge. Among them, services must involve network-related knowledge, which takes time to learn.

1. Network service

The most commonly used network services must be deployed, such as vsftp, nfs, samba, bind, dhcp, etc.

The code version management system is indispensable. You can learn the mainstream SVN and GIT, and you can deploy and use it easily.

Often transfer data between servers, so use: rsync and scp.

Data synchronization: inotify/sersync.

To complete some tasks repetitively, it can be written as a script to run regularly, so it is necessary to configure the scheduled task service crond under Linux.

2. Web Services

Every company basically has a website. To make the website run, it needs to build a web service platform.

If it is developed in PHP language, LAMP and LNMP website platforms are usually built. This is a spelling of a combination of technical terms. Separately, it is necessary to deploy Apache, Nginx, MySQL and PHP.

If it is developed in JAVA language, Tomcat is usually used to run the project. In order to improve the access speed, Nginx can be used to reverse proxy Tomcat, Nginx handles static pages, and Tomcat handles dynamic pages to achieve dynamic and static separation.

It is not so simple to deploy, but also to know the working principle of the HTTP protocol and simple performance tuning.

3. Database

The database is MySQL, which is the most widely used open source database in the world. It’s right to learn it! You also need to know some simple SQL statements, user management, common storage engines, database backup and recovery.

If you want to go deeper, you must master master-slave replication, performance optimization, mainstream cluster solutions: MHA, MGR, etc. NoSQL is so popular, of course, it is necessary to learn Redis and MongoDB.

4. Advanced shell scripting (mainly combining some applications and writing some cases)

Shell script is a powerful tool for Linux to automatically complete work. It must be written proficiently, so it is necessary to further learn functions, arrays, signals, and emails.

The three Musketeers of text processing (grep, sed, awk) have to play 6, and text processing under Linux depends on them.

5. Introduction to MySQL application principles and management (can manage and build a personal blog site)

After learning this, the basic skills I have mastered are enough, and I can already do some basic operation and maintenance work and simple maintenance.

🔺Stage 3: Advanced Level Up

  1. http service proxy cache acceleration (mainly learn varnish, nginx cache system, and have some knowledge of CDN

  2. Enterprise-level load clustering (mainly learning nginx, haproxy, and lvs should be proficient in the main knowledge and have a clear understanding of the load balancing algorithm

  3. Enterprise-level high-availability clusters (in which keepalived, heartbeat, etc. need to be explained in depth

  4. Detailed explanation of zabbix for operation and maintenance monitoring (mainly monitoring systems such as zabbix, cacti, nagios, etc., zabbix is ​​used more now

  5. Operation and maintenance automation learning (need to learn the use of some open source operation and maintenance automation tools such as ansible, puppet, cobbler and other operation and maintenance automation tools)

If you can master this, you can basically handle a lot of work. You can interview senior operation and maintenance engineers, and the salary can almost reach 12-20K.

🔺Summary: The necessary technical points to become a qualified Linux operation and maintenance engineer

· Master the Iptables firewall system, realize the firewall to realize packet filtering and forwarding

· Master user rights security control Sudo system and configuration

· Master the principle, deployment, installation and enterprise application of DNS service

Implement file sharing services NFS , Vsftpd, Samba configuration and application

· Realize the integration of installation, configuration, use and operation and maintenance system of Jumpserver bastion machine

The brctl command creates a management virtual bridge; Ip Netns creates a management virtual route

· Common network client tools Ping/Lftp/Ftp/Lftpget/Wget

· Using Rsync and Inotify to realize data distribution and configuration synchronization of multiple machines

·Basic function application of Jumpserver springboard machine, authentication, authorization, audit

· Nginx, an open source solution for web services necessary for operation and maintenance, comprehensively explains the Nginx program architecture

The above are the tools that a Linux operation and maintenance engineer needs to master. In fact, there are still many tools to master. The tools referred to here are equivalent to skills, not graphical tools like windows or ubuntu ~

Finally, if you are interested in Testin, search for “Tencent Classroom” or follow the official account ”” , which covers many wonderful free videos or dry goods knowledge.

終端大師 Terminal Master

Related Posts