Day 5 Task: Advanced Linux Shell Scripting for DevOps Engineers with User Management

Welcome back, DevOps enthusiasts! Today, we delve deeper into the world of shell scripting in Linux and explore how we can efficiently manage directories and backups, crucial tasks for any DevOps engineer. Additionally, we’ll touch upon user management, an essential aspect of system administration.

Creating Directories Dynamically

If you’ve ever wondered how to swiftly create multiple directories, worry no more! By leveraging a simple command, you can create numerous directories in seconds. For instance, to generate 90 directories named ‘day1’ through ‘day90’, you can execute:

mkdir day{1..90}

Now, let’s take this a step further and automate this process using a shell script.

Task 1: Shell Script to Create Directories

We’ll write a bash script, createDirectories.sh, that takes three arguments: directory name, start number of directories, and end number of directories. This script dynamically generates directories based on the provided arguments.

#!/bin/bash

dirname=$1
start=$2
end=$3

for ((i=start; i<=end; i++))
do
    mkdir -p "$dirname$i"
done

To use this script, execute it with the desired arguments:

./createDirectories.sh day 1 90

Task 2: Backup Script

Backups are crucial for safeguarding our work. Let’s create a backup script to automate this task. Watch this video for guidance on how DevOps engineers handle backups.

Task 3: Automating Backups with Cron

Learn about Cron and Crontab to automate the backup script. Cron enables scheduling tasks unattended, while Crontab manages the scheduling information. Stay tuned for Day 6 to dive deeper into user management!

Remember, practice makes perfect. Feel free to reach out for any doubts. Keep scripting and exploring the world of DevOps!

🌐 Sources

  1. GeeksforGeeks — Bash Scripting for Loop

  2. GeeksforGeeks — User Management in Linux

  3. Youtube — How to Backup in DevOps