Day 5: Master Advanced Linux Shell Scripting for DevOps User Management
Table of contents
No headings in the article.
Tasks:
Create Directories Using a Shell Script.
Create a Script to Backup All Your Work.
Read About Cron and Crontab to Automate the Backup Script.
Read About User Management.
Solutions:
Here's a bash script for the first task, creating directories with a dynamic name:
#!/bin/bash if [ "$#" -ne 3 ]; then echo "Usage: $0 <directory_name> <start_number> <end_number>" exit 1 fi directory_name="$1" start_number="$2" end_number="$3" if [ "$start_number" -gt "$end_number" ]; then echo "Start number should be less than or equal to end number." exit 1 fi for ((i=start_number; i<=end_number; i++)); do dir_name="${directory_name}${i}" mkdir "$dir_name" echo "Created directory: $dir_name" done
Save this script in a file, e.g., createDirectories.sh, and make it executable using chmod +x createDirectories.sh.
To run the script, use the following commands:
./createDirectories.sh day 1 90
This will create directories named day1, day2, day3, and so on up to day90.
Backup Your Work:
For the second task, creating a backup script, you can create a script like this:
#!/bin/bash # Set the source directory to backup source_directory="/path/to/your/source" # Set the backup directory backup_directory="/path/to/your/backup" # Create a timestamp to include in the backup folder name timestamp=$(date +%Y%m%d%H%M%S) # Create a backup file with a timestamp final_file="$backup_directory/file_backup-$timestamp.tgz" # Create the backup if tar czf "$final_file" -C "$source_directory" .; then echo "Backup Complete" else echo "Backup Failed" fi
Save this script in a file, e.g., backup.sh, and make it executable using chmod +x backup.sh.
To automate this backup script using Cron, you can add an entry to your user's crontab by running crontab -e and adding a line like this to run the script daily at a specific time:
0 2 * * * /path/to/backup.sh
This will run the backup.sh script every day at 2:00 AM. Adjust the timing as needed.
User Management in Linux:
For the third task, you can create two users and display their usernames using the following commands:
# Create the first user sudo useradd user1 # Set a password for the first user sudo passwd user1 # Create the second user sudo useradd user2 # Set a password for the second user sudo passwd user2 # Display the usernames echo "User 1: user1" echo "User 2: user2"
This will create two users, user1 and user2, and display their usernames as specified.
"I believe this article will be beneficial, allowing you to uncover fresh insights and gain enriching knowledge."
Happy Learning๐
Parth Sharma