Every system administrator should master these baseline skills:
- CLI Proficiency: Bash/PowerShell scripting examples:
# Bash disk monitoring script #!/bin/bash THRESHOLD=90 CURRENT=$(df / | grep / | awk '{ print $5}' | sed 's/%//g') if [ "$CURRENT" -gt "$THRESHOLD" ]; then echo "Warning: Disk usage at $CURRENT%" | mail -s "Disk Alert" admin@example.com fi
- Version Control: Basic Git for configuration management:
# Typical workflow for config changes git clone ssh://admin@git.example.com/config-repo.git cd config-repo nano network.conf git commit -am "Updated DNS settings" git push origin master
- Infrastructure as Code: Simple Ansible playbook example:
--- - hosts: webservers become: yes tasks: - name: Ensure Apache is installed apt: name: apache2 state: present - name: Copy custom config copy: src: /srv/httpd.conf dest: /etc/httpd/conf/httpd.conf owner: root group: root mode: '0644'
Role | Key Technologies | Sample Task |
---|---|---|
Network Admin | Cisco IOS, BGP, VLANs |
router# configure terminal router(config)# interface GigabitEthernet0/1 router(config-if)# description "Server VLAN" router(config-if)# switchport mode access router(config-if)# switchport access vlan 10 |
Storage Admin | iSCSI, LVM, RAID |
# Create LVM volume pvcreate /dev/sdb1 vgcreate storage_vg /dev/sdb1 lvcreate -L 500G -n data_lv storage_vg mkfs.ext4 /dev/storage_vg/data_lv |
Database Admin | MySQL, PostgreSQL, NoSQL |
-- PostgreSQL maintenance VACUUM ANALYZE; CREATE USER app_user WITH PASSWORD 'secure123'; GRANT SELECT ON ALL TABLES IN SCHEMA public TO app_user; |
Essential for contemporary environments:
- Container Orchestration: Docker/Kubernetes basics
# Simple Docker-compose for services version: '3' services: web: image: nginx:alpine ports: - "80:80" volumes: - ./config:/etc/nginx/conf.d
- Cloud Platforms: AWS/Azure fundamentals
# AWS CLI EC2 example aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --count 1 \ --instance-type t2.micro \ --key-name MyKeyPair \ --security-group-ids sg-903004f8 \ --subnet-id subnet-6e7f829e
Critical tools and techniques:
- Nagios/Icinga configuration
define service { host_name web-server service_description HTTP check_command check_http max_check_attempts 3 normal_check_interval 5 retry_check_interval 1 contact_groups admins }
- Log analysis with ELK stack
# Sample logstash filter for Apache logs filter { grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } date { match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ] } }
Non-negotiable security fundamentals:
- SSH hardening example
# /etc/ssh/sshd_config Port 2222 PermitRootLogin no PasswordAuthentication no X11Forwarding no MaxAuthTries 3 ClientAliveInterval 300 ClientAliveCountMax 0
- Firewall rules with iptables
# Basic web server rules iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -P INPUT DROP
Every sysadmin should master these fundamental technical areas:
- Operating Systems: Deep understanding of Linux/Windows server environments
# Example Linux command for checking disk space df -h
- Networking: TCP/IP, DNS, DHCP, firewalls, and routing
# Basic network troubleshooting ping example.com traceroute example.com netstat -tuln
- Scripting: Bash, PowerShell, or Python for automation
# Simple bash script to monitor disk usage #!/bin/bash THRESHOLD=90 CURRENT=$(df / | grep / | awk '{print $5}' | sed 's/%//g') if [ "$CURRENT" -gt "$THRESHOLD" ]; then echo "Warning: Disk space low - $CURRENT% used" fi
While core skills overlap, different admin roles require specific expertise:
Network Administrators
- Advanced routing protocols (BGP, OSPF)
- Network security (IDS/IPS, VPNs)
- Switch and router configuration
Storage Administrators
# LVM commands example
pvcreate /dev/sdb1
vgcreate vg_data /dev/sdb1
lvcreate -L 100G -n lv_archive vg_data
Database Administrators
-- Basic MySQL maintenance
OPTIMIZE TABLE important_table;
ANALYZE TABLE user_data;
SHOW PROCESSLIST;
Build experience through:
- Home lab with virtualization (Proxmox, ESXi)
- Cloud platforms (AWS, Azure)
- Configuration management (Ansible, Puppet)
# Sample Ansible playbook for web server setup
- hosts: webservers
become: yes
tasks:
- name: Install Apache
apt:
name: apache2
state: present
Successful sysadmins also need:
- Documentation practices
- Incident response procedures
- Communication with non-technical stakeholders