Automated Ops Toolkit Development

In this hands-on project, you will develop a suite of automation tools as part of a Platform Efficiency team. You will practice professional Git workflows, Bash scripting for system monitoring, advanced log processing with Awk and Sed, and task scheduling with Cron.

DevOps EngineerDevOpsLinux

Introduction

Useful operations automation is more than a script that runs once: it should be versioned, executable, produce controlled output, and run on a predictable schedule. This challenge-based project asks you to assemble those pieces into a small local operations toolkit.

You will establish a Git workflow, write a Bash health monitor, transform a prepared log with sed and awk, and install two cron entries. Each phase validates concrete files, permissions, repository state, report content, or crontab syntax rather than providing a command-by-command solution.

What You Will Learn

  • Initialize a local Git repository, define ignore rules, work on a develop branch, and commit a baseline
  • Write an executable Bash script that reports root-filesystem usage and Nginx status with timestamps
  • Extract disk usage with df and test a service with systemctl, service, or pgrep
  • Remove DEBUG records, redact IPv4 addresses, and reshape log fields with sed and awk
  • Produce an executable processor and a clean report with a prescribed timestamp, redaction tag, and message format
  • Schedule monitoring every five minutes and log processing daily at 02:00, redirecting monitor errors to a file

Who This Course Is For

This project is for Linux and DevOps learners ready to combine Git, Bash, text processing, and Cron without step-by-step commands.

Prerequisites: Familiarity with shell scripting, executable permissions, Git basics, pipelines, sed, awk, process or service checks, and crontab syntax; this is an assessment-style project.

Learning environment: A browser-accessible Linux host with Bash, Git, Cron, Nginx-related service state, GNU/Linux text utilities, and prepared toolkit and log files; no remote Git host or cloud account is required.

Frequently Asked Questions

Does the Git phase push code to GitHub or another remote?

No. It creates only a local repository in /home/labex/ops-toolkit, adds *.tmp and logs/ ignore rules, switches to develop, and records at least one baseline commit.

Is the monitor a complete alerting system?

No. monitor.sh prints timestamped root-disk usage and whether Nginx is active. It does not define usage thresholds, send notifications, retain metrics, or provide a dashboard.

What log format does the processor expect?

It works with the prepared space-delimited records containing date, time, level, IPv4 address, and message. The output removes DEBUG, replaces IPs with [REDACTED], and keeps YYYY-MM-DD HH:MM:SS [REDACTED] Message....

Does the scheduling challenge wait for the jobs to run?

No. It verifies exactly two crontab entries: monitor.sh every five minutes with stderr sent to monitor.err, and process_logs.sh every day at 02:00.

Teacher

labby
Labby
Labby is the LabEx teacher.