diff --git a/logs/user_info.log b/logs/user_info.log new file mode 100644 index 0000000..7d0f625 --- /dev/null +++ b/logs/user_info.log @@ -0,0 +1 @@ +Fri Apr 3 16:20:36 WAT 2026: Hello hammed from Nigeria. You are an Adult. diff --git a/scripts/backup.sh b/scripts/backup.sh new file mode 100755 index 0000000..d51b3b9 --- /dev/null +++ b/scripts/backup.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +LOG_FILE="../logs/backup.log" +BACKUP_DIR="../backups" + +input_dir=$1 + +if [ ! -d "$input_dir" ]; then + echo "Directory does not exist!" + exit 1 +fi + +timestamp=$(date +%F_%H-%M-%S) +backup_file="$BACKUP_DIR/backup_$timestamp.tar.gz" + +tar -czf "$backup_file" "$input_dir" + +echo "$(date): Backup created - $backup_file" >> "$LOG_FILE" + +# Keep only last 5 backups +ls -t "$BACKUP_DIR" | tail -n +6 | while read file; do + rm "$BACKUP_DIR/$file" +done diff --git a/scripts/file_manager.sh b/scripts/file_manager.sh new file mode 100755 index 0000000..cb579d4 --- /dev/null +++ b/scripts/file_manager.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +LOG_FILE="../logs/file_manager.log" + +action=$1 +file=$2 + +case $action in + create) + if [ -f "$file" ]; then + echo "File already exists!" + else + touch "$file" + echo "$(date): Created $file" >> "$LOG_FILE" + fi + ;; + delete) + if [ -f "$file" ]; then + rm "$file" + echo "$(date): Deleted $file" >> "$LOG_FILE" + else + echo "File does not exist!" + fi + ;; + list) + ls + ;; + rename) + new_name=$3 + mv "$file" "$new_name" + echo "$(date): Renamed $file to $new_name" >> "$LOG_FILE" + ;; + *) + echo "Usage: $0 {create|delete|list|rename} filename" + ;; +esac diff --git a/scripts/system_check.sh b/scripts/system_check.sh new file mode 100755 index 0000000..cbe16be --- /dev/null +++ b/scripts/system_check.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +DATE=$(date +%F) +LOG_FILE="../logs/system_report_$DATE.log" + +echo "System Report - $DATE" > "$LOG_FILE" + +echo "Disk Usage:" | tee -a "$LOG_FILE" +df -h | tee -a "$LOG_FILE" + +echo "Memory Usage:" | tee -a "$LOG_FILE" +free -m | tee -a "$LOG_FILE" + +echo "CPU Load:" | tee -a "$LOG_FILE" +uptime | tee -a "$LOG_FILE" + +# Disk warning +usage=$(df / | awk 'NR==2 {print $5}' | sed 's/%//') + +if [ "$usage" -gt 80 ]; then + echo "WARNING: Disk usage is above 80%" | tee -a "$LOG_FILE" +fi + +# Process count +echo "Total running processes:" | tee -a "$LOG_FILE" +ps aux | wc -l | tee -a "$LOG_FILE" + +# Top 5 memory processes +echo "Top 5 memory-consuming processes:" | tee -a "$LOG_FILE" +ps aux --sort=-%mem | head -6 | tee -a "$LOG_FILE" diff --git a/scripts/user_info.sh b/scripts/user_info.sh new file mode 100755 index 0000000..82729be --- /dev/null +++ b/scripts/user_info.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +LOG_FILE="../logs/user_info.log" + +# Ask for input +read -p "Enter your name: " name +read -p "Enter your age: " age +read -p "Enter your country: " country + +# Validate inputs +if [[ -z "$name" || -z "$age" || -z "$country" ]]; then + echo "Error: All fields are required." + exit 1 +fi + +if ! [[ "$age" =~ ^[0-9]+$ ]]; then + echo "Error: Age must be a number." + exit 1 +fi + +# Determine age category +if (( age < 18 )); then + category="Minor" +elif (( age <= 65 )); then + category="Adult" +else + category="Senior" +fi + +# Output message +message="Hello $name from $country. You are an $category." + +echo "$message" + +# Save to log +echo "$(date): $message" >> "$LOG_FILE"