dgt_sys04 – Scripting and automation

Module Title: dgt_sys04 – Scripting and automation

Overview:
Welcome to “dgt_sys04 – Scripting and automation,” a comprehensive module designed for IT professionals aiming to enhance their skills in automating Linux system administration tasks. This module provides an in-depth exploration of scripting with Bash for basic automation needs, while also introducing Ansible as a powerful tool for more structured and idempotent operations.

module Objectives:
– Understand the fundamentals of shell scripting using Bash.
– Develop simple scripts to automate routine tasks on Linux systems.
– Explore advanced automation techniques with Ansible for scalable and repeatable system administration.
– Compare and contrast the use cases, strengths, and limitations of Bash scripting versus Ansible.
– Create structured, idempotent playbooks in Ansible to manage configurations across multiple environments efficiently.

Key Topics:

  1. Introduction to Automation:
  2. Overview of automation in Linux system administration.
  3. Importance of idempotency in scripts and configurations.

  4. Bash Scripting for Basic Automations:

  5. Basics of Bash scripting, including syntax, control structures, and functions.
  6. Creating and executing simple scripts for file manipulation, user management, and process handling.
  7. Debugging and testing Bash scripts.

  8. Advanced Scripting Techniques in Bash:

  9. Error handling and logging in Bash scripts.
  10. Using Bash for batch processing and data extraction.

  11. Introduction to Ansible:

  12. Overview of Ansible architecture and its role in automation.
  13. Installation and configuration of Ansible on your system.

  14. Idempotent Operations with Ansible:

  15. Understanding idempotency and why its crucial for reliable automation.
  16. Writing Ansible playbooks to ensure consistent configurations across systems.

  17. Comparing Bash and Ansible:

  18. Differences in operation between scripting with Bash and using Ansible.

    • Bash Scripting: Ideal for quick, system-specific tasks; limited scalability and manual execution required.
    • Ansible: Designed for managing multiple systems at scale; declarative approach ensures idempotency without requiring agent software.
  19. Hands-On Projects:

  20. Develop Bash scripts for automating common administrative tasks on a single Linux server.
  21. Create Ansible playbooks to manage configurations and automate deployments across several servers.

  22. Best Practices and Security Considerations:

  23. Best practices in scripting and playbook development.
  24. Ensuring security and compliance in automated processes.

Target Audience:
This module is tailored for system administrators, DevOps engineers, IT professionals, and anyone interested in automating Linux systems using Bash and Ansible. Prior experience with Linux command-line tools is recommended but not required.

module Duration: 6 weeks 2-3 hours per week

Join us on a journey to master scripting and automation in Linux environments, empowering you to streamline operations, reduce errors, and increase productivity. Whether starting from the basics of Bash or advancing to structured Ansible playbooks, “dgt_sys04 – Scripting and Automation” equips you with essential skills for modern system administration.
The students can push their exercises to the Academy DevOps & SRE GIT project. For this module, create a folder with your username as its name in the following subfolder: https://github.com/Garanti-Del-Talento/gdt_academy