syncing servers

This commit is contained in:
Jamie Albert
2025-12-07 17:31:31 +00:00
parent f6e60b144d
commit 9c3274881e
54 changed files with 5048 additions and 2 deletions

View File

@@ -0,0 +1,44 @@
#!/bin/bash
# Set variables
backup=$(date +%Y%m%d%H%M)
RETENTION_DAYS=5
log_message() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1"
}
log_message "Starting backup process..."
# Stop Docker
log_message "Stopping Docker services..."
cd /home/oc/dao/docker
docker compose down
## Baikal backup
log_message "Backing up Baikal database..."
cd /home/oc/dao/docker/data/baikal/Specific/db
[[ -f ./db.sqlite ]] && echo .dump | sqlite3 db.sqlite | gzip > "dumps/${backup}_baikal.sql.gz" && log_message "Baikal dumped"
# tar docker folder
log_message "Creating Docker tarball..."
cd /home/oc/dao
tar -cf "/tmp/${backup}_docker.tar.gz" docker/
# rclone upload
log_message "Uploading to remote storage..."
cd /tmp
rclone copy "${backup}_docker.tar.gz" vault:/system/backups/docker/
rm -f ${backup}_docker.tar.gz
# Clean up old backups (keep last 5 days)
log_message "Cleaning up old backups..."
rclone delete vault:/system/backups/docker/ --min-age ${RETENTION_DAYS}d
# Start Docker
log_message "Starting Docker services..."
cd /home/oc/dao/docker
docker compose up -d
log_message "Backup process completed."

View 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."