Useful Automation Scripts
Copy and paste these into your terminal. Always read a script before running it.
System update (Rocky/RHEL-based)
sudo dnf update -y && sudo dnf autoremove -y
Find largest files on disk
du -ah / 2>/dev/null | sort -rh | head -20
Check open ports
sudo ss -tulpn
Backup a folder with timestamp
tar -czf backup_$(date +%Y%m%d_%H%M%S).tar.gz /path/to/folder
Monitor system resources live
htop
Auto-organize Downloads folder by file type
mkdir -p ~/Downloads/{Images,Videos,Audio,Documents,Archives,Scripts}
cd ~/Downloads
for f in *; do
[ -f "$f" ] || continue
case "${f,,}" in
*.jpg|*.jpeg|*.png|*.gif|*.webp|*.svg) mv "$f" Images/ ;;
*.mp4|*.mkv|*.mov|*.avi|*.webm) mv "$f" Videos/ ;;
*.mp3|*.wav|*.flac|*.ogg|*.m4a) mv "$f" Audio/ ;;
*.pdf|*.docx|*.txt|*.xlsx|*.pptx) mv "$f" Documents/ ;;
*.zip|*.tar|*.gz|*.rar|*.7z) mv "$f" Archives/ ;;
*.sh|*.py|*.js) mv "$f" Scripts/ ;;
esac
done
echo "Downloads folder organized!"
Watch a folder and auto-sort new files (live)
sudo dnf install inotify-tools -y
mkdir -p ~/Downloads/{Images,Videos,Audio,Documents,Archives}
inotifywait -m -e create --format '%f' ~/Downloads | while read FILE; do
case "${FILE,,}" in
*.jpg|*.jpeg|*.png|*.gif) mv ~/Downloads/"$FILE" ~/Downloads/Images/ ;;
*.mp4|*.mkv|*.mov) mv ~/Downloads/"$FILE" ~/Downloads/Videos/ ;;
*.mp3|*.wav|*.flac) mv ~/Downloads/"$FILE" ~/Downloads/Audio/ ;;
*.pdf|*.docx|*.txt) mv ~/Downloads/"$FILE" ~/Downloads/Documents/ ;;
*.zip|*.tar|*.gz) mv ~/Downloads/"$FILE" ~/Downloads/Archives/ ;;
esac
done
Delete files older than 30 days in a folder
find /path/to/folder -type f -mtime +30 -delete
Check disk space usage summary
df -h --total | grep total
List all running services
systemctl list-units --type=service --state=running
Create a swap file (useful for low-RAM VMs)
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Compress all images in a folder (requires ImageMagick)
sudo dnf install ImageMagick -y
cd /path/to/folder
mkdir -p compressed
for f in *.jpg *.jpeg *.png; do
[ -f "$f" ] || continue
convert "$f" -quality 75 -resize 1920x1920\> "compressed/$f"
done
echo "Images compressed into ./compressed"
Find and kill a process using a specific port
sudo lsof -i :PORT_NUMBER
# then run:
sudo kill -9 PID
Auto-renew SSL certificates (Certbot cron check)
sudo certbot renew --dry-run