Initial commit
This commit is contained in:
44
backup.sh
Executable file
44
backup.sh
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Wiki.js Backup Script
|
||||
# Creates backups of your wiki database and uploaded assets
|
||||
|
||||
set -e
|
||||
|
||||
BACKUP_DIR="backups"
|
||||
DATE=$(date +%Y%m%d_%H%M%S)
|
||||
|
||||
echo "🔄 Starting Wiki.js backup..."
|
||||
|
||||
# Create backup directory if it doesn't exist
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
|
||||
# Check if services are running
|
||||
if ! docker-compose ps | grep -q "Up"; then
|
||||
echo "❌ Wiki.js services are not running. Please start them first with: docker-compose up -d"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "💾 Backing up database..."
|
||||
# Backup PostgreSQL database
|
||||
docker-compose exec -T db pg_dump -U wikijs wiki > "$BACKUP_DIR/wiki_db_$DATE.sql"
|
||||
|
||||
echo "📁 Backing up assets and data..."
|
||||
# Backup uploaded assets and wiki data
|
||||
tar -czf "$BACKUP_DIR/wiki_assets_$DATE.tar.gz" -C data assets wiki 2>/dev/null || true
|
||||
|
||||
# Backup configuration files
|
||||
echo "⚙️ Backing up configuration..."
|
||||
tar -czf "$BACKUP_DIR/wiki_config_$DATE.tar.gz" docker-compose.yml .env README.md 2>/dev/null || true
|
||||
|
||||
echo "✅ Backup completed successfully!"
|
||||
echo "📂 Backup files created:"
|
||||
echo " - Database: $BACKUP_DIR/wiki_db_$DATE.sql"
|
||||
echo " - Assets: $BACKUP_DIR/wiki_assets_$DATE.tar.gz"
|
||||
echo " - Config: $BACKUP_DIR/wiki_config_$DATE.tar.gz"
|
||||
|
||||
# Clean up old backups (keep last 7 days)
|
||||
echo "🧹 Cleaning up old backups (keeping last 7 days)..."
|
||||
find "$BACKUP_DIR" -name "wiki_*" -type f -mtime +7 -delete 2>/dev/null || true
|
||||
|
||||
echo "🎉 Backup process complete!"
|
||||
Reference in New Issue
Block a user