Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
15 views

Daily Used Linux Production Shell Scripts

Uploaded by

remenif437
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Daily Used Linux Production Shell Scripts

Uploaded by

remenif437
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Linux Production Shell Scripts

1. File Backup Script:


#!/bin/bash

backup_dir="/path/to/backup"
source_dir="/path/to/source"

# Create a timestamped backup of the source directory


tar -czf "$backup_dir/backup_$(date +%Y%m%d_%H%M%S).tar.gz"
"$source_dir"

2. System Monitoring Script:


#!/bin/bash

threshold=90

# Monitor CPU usage and trigger alert if threshold exceeded


cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d. -f1)
if [ "$cpu_usage" -gt "$threshold" ]; then
echo "High CPU usage detected: $cpu_usage%"
# Add alert/notification logic here
fi

3. User Account Management Script:


#!/bin/bash

username="newuser"

# Check if user exists; if not, create new user


if id "$username" &>/dev/null; then
echo "User $username already exists."
else
useradd -m "$username"
echo "User $username created."
Fi

4. Log Analyzer Script:


#!/bin/bash

logfile="/path/to/logfile.log"

# Extract lines with "ERROR" from the log file


grep "ERROR" "$logfile" > error_log.txt
echo "Error log created."

5. Password Generator Script:


#!/bin/bash

length=12

# Generate a random password


password=$(openssl rand -base64 $length)
echo "Generated password: $password"

6. File Encryption/Decryption Script:


#!/bin/bash

file="/path/to/file.txt"

# Encrypt file using AES-256-CBC


openssl enc -aes-256-cbc -salt -in "$file" -out "$file.enc"
echo "File encrypted: $file.enc"

7. Automated Software Installation Script:


#!/bin/bash

packages=("package1" "package2" "package3")


# Install listed packages using apt-get
for package in "${packages[@]}"; do
sudo apt-get install "$package" -y
done

echo "Packages installed successfully."

8. Network Connectivity Checker Script:


#!/bin/bash

host="example.com"

# Check network connectivity by pinging a host


if ping -c 1 "$host" &>/dev/null; then
echo "Network is up."
else
echo "Network is down."
fi

9. Website Uptime Checker Script:


#!/bin/bash

website="https://example.com"

# Check if website is accessible


if curl --output /dev/null --silent --head --fail "$website"; then
echo "Website is up."
else
echo "Website is down."
fi

10. Data Cleanup Script:


#!/bin/bash

directory="/path/to/cleanup"
# Remove files older than 7 days in specified directory
find "$directory" -type f -mtime +7 -exec rm {} \;
echo "Old files removed."

11. CPU Usage Tracker Script:


#!/bin/bash

output_file="cpu_usage_log.txt"

# Log current CPU usage to a file with timestamp


echo "$(date) $(top -bn1 | grep 'Cpu(s)' | awk '{print $2}' | cut -d.
-f1)%" >> "$output_file"
echo "CPU usage logged."

12. System Information Script:


#!/bin/bash

output_file="system_info.txt"

# Gather system information and save to a file


echo "System Information:" > "$output_file"
echo "-------------------" >> "$output_file"
echo "Hostname: $(hostname)" >> "$output_file"
echo "OS: $(uname -a)" >> "$output_file"
echo "Memory: $(free -h)" >> "$output_file"
echo "Disk Space: $(df -h)" >> "$output_file"
echo "System info saved to $output_file."

13. Task Scheduler Script:


#!/bin/bash

scheduled_task="/path/to/your_script.sh"
schedule_time="0 2 * * *"
# Schedule a task using cron
echo "$schedule_time $scheduled_task" | crontab -
echo "Task scheduled successfully."

14. Disk Space Monitoring Script:


#!/bin/bash

threshold=90

# Monitor disk usage and trigger alert if threshold exceeded


disk_usage=$(df -h | grep "/dev/sda1" | awk '{print $5}' | cut -d%
-f1)
if [ "$disk_usage" -gt "$threshold" ]; then
echo "High disk usage detected: $disk_usage%"
# Add alert/notification logic here
fi

15. Remote Server Backup Script:


#!/bin/bash

source_dir="/path/to/source"
remote_server="user@remoteserver:/path/to/backup"

# Backup files/directories to a remote server using rsync


rsync -avz "$source_dir" "$remote_server"
echo "Files backed up to remote server."

16. Environment Setup Script:


#!/bin/bash

# Customize for your specific environment setup


echo "Setting up development environment..."
# Install necessary packages, configure settings, etc.
echo "Development environment set up successfully."
17. File Compression/Decompression Script:
#!/bin/bash

file_to_compress="/path/to/file.txt"

# Compress a file using gzip


gzip "$file_to_compress"
echo "File compressed: $file_to_compress.gz"

18. Database Backup Script:


#!/bin/bash

database_name="your_database"
output_file="database_backup_$(date +%Y%m%d).sql"

# Perform database backup using mysqldump


mysqldump -u username -ppassword "$database_name" > "$output_file"
echo "Database backup created: $output_file"

19. Git Repository Updater Script:


#!/bin/bash

git_repo="/path/to/your/repo"

# Update a Git repository


cd "$git_repo"
git pull origin master
echo "Git repository updated."

20. Directory Synchronization Script:


#!/bin/bash

source_dir="/path/to/source"
destination_dir="/path/to/destination"
# Synchronize directories using rsync
rsync -avz "$source_dir" "$destination_dir"
echo "Directories synchronized successfully."

21. Web Server Log Analyzer Script:


#!/bin/bash

log_file="/var/log/apache2/access.log"

# Analyze web server log to count unique IP addresses


awk '{print $1}' "$log_file" | sort | uniq -c | sort -nr
echo "Web server log analyzed."

22. System Health Check Script:


#!/bin/bash

output_file="system_health_check.txt"

# Perform system health check and save results to a file


echo "System Health Check:" > "$output_file"
echo "---------------------" >> "$output_file"
echo "Uptime: $(uptime)" >> "$output_file"
echo "Load Average: $(cat /proc/loadavg)" >> "$output_file"
echo "Memory Usage: $(free -m)" >> "$output_file"
echo "System health check results saved to $output_file."

23. Automated Database Cleanup Script:


#!/bin/bash

database_name="your_database"
days_to_keep=7

# Clean up old database backups older than specified days


find /path/to/database/backups -name "$database_name*.sql" -mtime
+"$days_to_keep" -exec rm {} \;
echo "Old database backups cleaned up."
24. User Password Expiry Checker Script:
#!/bin/bash

# Check password expiry for users with bash shell


IFS=$'\n'
for user in $(cat /etc/passwd | grep "/bin/bash" | cut -d: -f1); do
password_expires=$(chage -l "$user" | grep "Password expires" |
awk '{print $4}')
echo "User: $user, Password Expires: $password_expires"
done
unset IFS

25. Service Restart Script:


#!/bin/bash

service_name="your_service"

# Restart a specified service


sudo systemctl restart "$service_name"
echo "Service $service_name restarted."

26. Folder Size Checker Script:


#!/bin/bash

folder_path="/path/to/folder"

# Check and display the size of a specified folder


du -sh "$folder_path"
echo "Folder size checked."

27. Backup Rotation Script:


#!/bin/bash

backup_dir="/path/to/backups"
max_backups=5

# Rotate backups by deleting the oldest if more than max_backups


while [ $(ls -1 "$backup_dir" | wc -l) -gt "$max_backups" ]; do
oldest_backup=$(ls -1t "$backup_dir" | tail -n 1)
rm -r "$backup_dir/$oldest_backup"
done
echo "Backup rotation completed."

28. Remote Script Execution Script:


#!/bin/bash

remote_server="user@remote-server"
remote_script="/path/to/remote/script.sh"

# Execute a script on a remote server via SSH


ssh "$remote_server" "bash -s" < "$remote_script"
echo "Remote script executed."

29. Network Interface Information Script:


#!/bin/bash

network_interface="eth0"

# Display network interface information


ifconfig "$network_interface"
echo "Network interface information displayed."

30. Random Quotes Generator Script:


#!/bin/bash

quotes=("Quote 1" "Quote 2" "Quote 3" "Quote 4")

# Generate and display a random quote from the array


random_index=$((RANDOM % ${#quotes[@]}))
echo "Random Quote: ${quotes[$random_index]}"

You might also like