Mastering Linux Automation
Mastering Linux Automation
com
Mastering Linux Automation: Simplify Your Workflow with These Essential Shell Scripts.
#!/bin/bash
# Variables
SOURCE_DIR="/path/to/source"
BACKUP_DIR="/path/to/backup"
LOG_FILE="/var/log/backup.log"
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
# Create a backup
echo "[$DATE] Starting backup..." >> "$LOG_FILE"
tar -czf "$BACKUP_DIR/backup_$DATE.tar.gz" "$SOURCE_DIR" 2>>"$LOG_FILE"
if [ $? -eq 0 ]; then
echo "[$DATE] Backup completed successfully." >> "$LOG_FILE"
else
echo "[$DATE] Backup failed!" >> "$LOG_FILE"
fi
#!/bin/bash
LOG_FILE="/var/log/system_update.log"
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
if [ $? -eq 0 ]; then
echo "[$DATE] System update completed successfully." >> "$LOG_FILE"
else
echo "[$DATE] System update failed!" >> "$LOG_FILE"
fi
Page 1 of 4
Md. Ikbal Hossain Mobile: 01950758712 E-mail: [email protected]
#!/bin/bash
# Add user
add_user() {
read -p "Enter username: " username
sudo adduser "$username"
echo "User $username added."
}
# Delete user
delete_user() {
read -p "Enter username to delete: " username
sudo deluser "$username"
echo "User $username deleted."
}
case $choice in
1)
add_user
;;
2)
delete_user
;;
*)
echo "Invalid option!"
;;
esac
#!/bin/bash
THRESHOLD=80
LOG_FILE="/var/log/disk_usage.log"
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
Page 2 of 4
Md. Ikbal Hossain Mobile: 01950758712 E-mail: [email protected]
#!/bin/bash
SERVICE_NAME="apache2"
LOG_FILE="/var/log/service_monitor.log"
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
if [ $? -eq 0 ]; then
echo "[$DATE] $SERVICE_NAME restarted successfully." >> "$LOG_FILE"
else
echo "[$DATE] Failed to restart $SERVICE_NAME." >> "$LOG_FILE"
fi
fi
#!/bin/bash
LOG_DIR="/var/log/myapp"
MAX_SIZE=10485760 # 10 MB
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
Page 3 of 4
Md. Ikbal Hossain Mobile: 01950758712 E-mail: [email protected]
fi
fi
done
#!/bin/bash
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
LOG_FILE="/var/log/server_health.log"
1. Edit crontab:
crontab -e
0 2 * * * /path/to/auto_backup.sh
0 3 * * * /path/to/auto_update.sh
Page 4 of 4