syncing servers
This commit is contained in:
62
servers/hephaestus/ark/usr/local/bin/cleanup.sh
Executable file
62
servers/hephaestus/ark/usr/local/bin/cleanup.sh
Executable file
@@ -0,0 +1,62 @@
|
||||
#!/bin/bash
|
||||
|
||||
# System Cleanup Script
|
||||
# Run this script via cron to maintain system cleanliness
|
||||
|
||||
# Set variables
|
||||
LOG_FILE="/var/log/system-cleanup.log"
|
||||
DATE=$(date '+%Y-%m-%d %H:%M:%S')
|
||||
|
||||
# Function to log messages to both console and file
|
||||
log_message() {
|
||||
echo "[$DATE] $1" | tee -a "$LOG_FILE"
|
||||
}
|
||||
|
||||
log_message "Starting system cleanup..."
|
||||
|
||||
# Docker System Cleanup
|
||||
log_message "Cleaning up Docker system..."
|
||||
docker system prune -a -f --volumes | while read -r line; do
|
||||
log_message "Docker: $line"
|
||||
done
|
||||
|
||||
# Clean up old Docker images not used in last 30 days
|
||||
log_message "Removing unused Docker images older than 30 days..."
|
||||
docker image prune -a -f --filter "until=720h" | while read -r line; do
|
||||
log_message "Docker images: $line"
|
||||
done
|
||||
|
||||
# System Package Cleanup
|
||||
log_message "Cleaning up apt packages..."
|
||||
apt-get autoremove -y | while read -r line; do
|
||||
log_message "APT autoremove: $line"
|
||||
done
|
||||
|
||||
apt-get autoclean -y | while read -r line; do
|
||||
log_message "APT autoclean: $line"
|
||||
done
|
||||
|
||||
# Clean up old logs (keep last 7 days)
|
||||
log_message "Cleaning up old system logs..."
|
||||
find /var/log -name "*.log" -type f -mtime +7 -delete 2>/dev/null
|
||||
find /var/log -name "*.log.*" -type f -mtime +7 -delete 2>/dev/null
|
||||
|
||||
# Clean up journal logs (keep last 7 days)
|
||||
log_message "Cleaning up journal logs..."
|
||||
journalctl --vacuum-time=7d | while read -r line; do
|
||||
log_message "Journal cleanup: $line"
|
||||
done
|
||||
|
||||
# Clean up temporary files
|
||||
log_message "Cleaning up temporary files..."
|
||||
find /tmp -type f -atime +7 -delete 2>/dev/null
|
||||
find /var/tmp -type f -atime +7 -delete 2>/dev/null
|
||||
|
||||
# Show disk usage after cleanup
|
||||
log_message "Disk usage after cleanup:"
|
||||
df -h | while read -r line; do
|
||||
log_message "Disk: $line"
|
||||
done
|
||||
|
||||
log_message "System cleanup completed."
|
||||
|
||||
Reference in New Issue
Block a user