Backup the PostgreSQL Database
sudo mkdir -p /backup/dspace
sudo chown -R dspace:dspace /backup/dspace
Backup Postgres DB
sudo -i -u postgres
pg_dump -Fc dspace > /backup/dspace/dspace_$(date +%F).dump
exit
cd /dspace
tar -czvf /backup/dspace/assetstore_backup_$(date +%F).tar.gz assetstore
-----------------------------------------------------------------------------------------------------------------------------
SCHEDULE YOUR DSpace 9 BACKUP on UBUNTU
-----------------------------------------------------------------------------------------------------------------------------
Step 1: Create Backup Script
sudo nano /usr/local/bin/dspace_backup.sh
---------------------------------copy text--------------------------------------
#!/bin/bash
# Date
DATE=$(date +%F)
# Paths (CHANGE if needed)
DSPACE_DIR=/dspace
BACKUP_DIR=/backup/dspace/$DATE
DB_NAME=dspace
DB_USER=postgres
# Create backup folder
mkdir -p $BACKUP_DIR
echo "Starting DSpace backup: $DATE"
# 1. Database Backup
sudo -u postgres pg_dump -Fc $DB_NAME > $BACKUP_DIR/dspace_db.dump
# 2. Assetstore Backup
tar -czf $BACKUP_DIR/assetstore.tar.gz $DSPACE_DIR/assetstore
# 3. Config Backup
tar -czf $BACKUP_DIR/config.tar.gz $DSPACE_DIR/config
# 4. Themes (optional but recommended)
tar -czf $BACKUP_DIR/themes.tar.gz $DSPACE_DIR/webapps
# 5. Cleanup old backups (keep last 7 days)
find /backup/dspace/* -maxdepth 0 -type d -mtime +7 -exec rm -rf {} \;
echo "DSpace backup completed successfully"
---------------------------------copy text---------------------------------
Step 2: Make Script Executable
sudo chmod +x /usr/local/bin/dspace_backup.sh
Test manually:
sudo /usr/local/bin/dspace_backup.sh
Step 3: Schedule Backup using CRON
sudo crontab -e
0 2 * * * /usr/local/bin/dspace_backup.sh >> /var/log/dspace_backup.log 2>&1
(This will schedule a daily backup at 2:00 AM)
No comments:
Post a Comment