mirror of
https://github.com/haiwen/seafile-admin-docs.git
synced 2025-12-26 02:32:50 +00:00
Merge pull request #266 from haiwen/Backup-and-Recovery-for-Seafile-Docker
Backup and recovery for Seafile Docker
This commit is contained in:
commit
54c8e13bb2
|
|
@ -236,81 +236,7 @@ docker compose up -d
|
|||
|
||||
## Backup and recovery
|
||||
|
||||
### Structure
|
||||
|
||||
We assume your seafile volumns path is in `/opt/seafile-data`. And you want to backup to `/opt/seafile-backup` directory.
|
||||
You can create a layout similar to the following in /opt/seafile-backup directory:
|
||||
|
||||
```
|
||||
/opt/seafile-backup
|
||||
---- databases/ MySQL contains database backup files
|
||||
---- data/ Seafile contains backups of the data directory
|
||||
|
||||
```
|
||||
|
||||
The data files to be backed up:
|
||||
|
||||
```
|
||||
/opt/seafile-data/seafile/conf # configuration files
|
||||
/opt/seafile-data/seafile/seafile-data # data of seafile
|
||||
/opt/seafile-data/seafile/seahub-data # data of seahub
|
||||
|
||||
```
|
||||
|
||||
### Backup
|
||||
|
||||
Steps:
|
||||
|
||||
1. Backup the databases;
|
||||
2. Backup the seafile data directory;
|
||||
|
||||
Backup Order: Database First or Data Directory First
|
||||
|
||||
#### backing up Database:
|
||||
|
||||
```bash
|
||||
# It's recommended to backup the database to a separate file each time. Don't overwrite older database backups for at least a week.
|
||||
cd /opt/seafile-backup/databases
|
||||
docker exec -it seafile-mysql mysqldump -uroot --opt ccnet_db > ccnet_db.sql
|
||||
docker exec -it seafile-mysql mysqldump -uroot --opt seafile_db > seafile_db.sql
|
||||
docker exec -it seafile-mysql mysqldump -uroot --opt seahub_db > seahub_db.sql
|
||||
```
|
||||
|
||||
#### Backing up Seafile library data:
|
||||
|
||||
##### To directly copy the whole data directory
|
||||
|
||||
```bash
|
||||
cp -R /opt/seafile-data/seafile /opt/seafile-backup/data/
|
||||
cd /opt/seafile-backup/data && rm -rf ccnet
|
||||
```
|
||||
|
||||
##### Use rsync to do incremental backup
|
||||
|
||||
```bash
|
||||
rsync -az /opt/seafile-data/seafile /opt/seafile-backup/data/
|
||||
cd /opt/seafile-backup/data && rm -rf ccnet
|
||||
```
|
||||
|
||||
### Recovery
|
||||
|
||||
#### Restore the databases:
|
||||
|
||||
```bash
|
||||
docker cp /opt/seafile-backup/databases/ccnet_db.sql seafile-mysql:/tmp/ccnet_db.sql
|
||||
docker cp /opt/seafile-backup/databases/seafile_db.sql seafile-mysql:/tmp/seafile_db.sql
|
||||
docker cp /opt/seafile-backup/databases/seahub_db.sql seafile-mysql:/tmp/seahub_db.sql
|
||||
|
||||
docker exec -it seafile-mysql /bin/sh -c "mysql -uroot ccnet_db < /tmp/ccnet_db.sql"
|
||||
docker exec -it seafile-mysql /bin/sh -c "mysql -uroot seafile_db < /tmp/seafile_db.sql"
|
||||
docker exec -it seafile-mysql /bin/sh -c "mysql -uroot seahub_db < /tmp/seahub_db.sql"
|
||||
```
|
||||
|
||||
### Restore the seafile data:
|
||||
|
||||
```bash
|
||||
cp -R /opt/seafile-backup/data/* /opt/seafile-data/seafile/
|
||||
```
|
||||
Follow the instructions in [Backup and recovery for Seafile Docker](../maintain/backup_recovery.md)
|
||||
|
||||
## Garbage collection
|
||||
|
||||
|
|
|
|||
|
|
@ -312,81 +312,7 @@ docker compose up -d
|
|||
|
||||
## Backup and Recovery
|
||||
|
||||
### Structure
|
||||
|
||||
We assume your seafile volumns path is in `/opt/seafile-data`. And you want to backup to `/opt/seafile-backup` directory.
|
||||
You can create a layout similar to the following in /opt/seafile-backup directory:
|
||||
|
||||
```
|
||||
/opt/seafile-backup
|
||||
---- databases/ MySQL contains database backup files
|
||||
---- data/ Seafile contains backups of the data directory
|
||||
|
||||
```
|
||||
|
||||
The data files to be backed up:
|
||||
|
||||
```
|
||||
/opt/seafile-data/seafile/conf # configuration files
|
||||
/opt/seafile-data/seafile/seafile-data # data of seafile
|
||||
/opt/seafile-data/seafile/seahub-data # data of seahub
|
||||
|
||||
```
|
||||
|
||||
### Backup
|
||||
|
||||
Steps:
|
||||
|
||||
1. Backup the databases;
|
||||
2. Backup the seafile data directory;
|
||||
|
||||
Backup Order: Database First or Data Directory First
|
||||
|
||||
#### Backing up Database:
|
||||
|
||||
```
|
||||
# It's recommended to backup the database to a separate file each time. Don't overwrite older database backups for at least a week.
|
||||
cd /opt/seafile-backup/databases
|
||||
docker exec -it seafile-mysql mysqldump -uroot --opt ccnet_db > ccnet_db.sql
|
||||
docker exec -it seafile-mysql mysqldump -uroot --opt seafile_db > seafile_db.sql
|
||||
docker exec -it seafile-mysql mysqldump -uroot --opt seahub_db > seahub_db.sql
|
||||
```
|
||||
|
||||
#### Backing up Seafile Library Data
|
||||
|
||||
##### Copy the whole data directory directly
|
||||
|
||||
```
|
||||
cp -R /opt/seafile-data/seafile /opt/seafile-backup/data/
|
||||
cd /opt/seafile-backup/data && rm -rf ccnet
|
||||
```
|
||||
|
||||
##### Use rsync to do incremental backup
|
||||
|
||||
```bash
|
||||
rsync -az /opt/seafile-data/seafile /opt/seafile-backup/data/
|
||||
cd /opt/seafile-backup/data && rm -rf ccnet
|
||||
```
|
||||
|
||||
### Recovery
|
||||
|
||||
#### Restoring the Databases
|
||||
|
||||
```
|
||||
docker cp /opt/seafile-backup/databases/ccnet_db.sql seafile-mysql:/tmp/ccnet_db.sql
|
||||
docker cp /opt/seafile-backup/databases/seafile_db.sql seafile-mysql:/tmp/seafile_db.sql
|
||||
docker cp /opt/seafile-backup/databases/seahub_db.sql seafile-mysql:/tmp/seahub_db.sql
|
||||
|
||||
docker exec -it seafile-mysql /bin/sh -c "mysql -uroot ccnet_db < /tmp/ccnet_db.sql"
|
||||
docker exec -it seafile-mysql /bin/sh -c "mysql -uroot seafile_db < /tmp/seafile_db.sql"
|
||||
docker exec -it seafile-mysql /bin/sh -c "mysql -uroot seahub_db < /tmp/seahub_db.sql"
|
||||
```
|
||||
|
||||
#### Restoring the Seafile Library data
|
||||
|
||||
```
|
||||
cp -R /opt/seafile-backup/data/* /opt/seafile-data/seafile/
|
||||
```
|
||||
Follow the instructions in [Backup and recovery for Seafile Docker](../../maintain/backup_recovery.md)
|
||||
|
||||
## Garbage Collection
|
||||
|
||||
|
|
|
|||
|
|
@ -147,4 +147,80 @@ sqlite3 seahub.db < seahub.db.bak.xxxx
|
|||
|
||||
```
|
||||
|
||||
## Backup and recovery for Seafile Docker
|
||||
|
||||
### Structure
|
||||
|
||||
We assume your seafile volumns path is in `/opt/seafile-data`. And you want to backup to `/opt/seafile-backup` directory.
|
||||
You can create a layout similar to the following in /opt/seafile-backup directory:
|
||||
|
||||
```
|
||||
/opt/seafile-backup
|
||||
---- databases/ MySQL contains database backup files
|
||||
---- data/ Seafile contains backups of the data directory
|
||||
|
||||
```
|
||||
|
||||
The data files to be backed up:
|
||||
|
||||
```
|
||||
/opt/seafile-data/seafile/conf # configuration files
|
||||
/opt/seafile-data/seafile/seafile-data # data of seafile
|
||||
/opt/seafile-data/seafile/seahub-data # data of seahub
|
||||
|
||||
```
|
||||
|
||||
### Backup
|
||||
|
||||
Steps:
|
||||
|
||||
1. Backup the databases;
|
||||
2. Backup the seafile data directory;
|
||||
|
||||
Backup Order: Database First or Data Directory First
|
||||
|
||||
#### Backing up Database
|
||||
|
||||
```bash
|
||||
# It's recommended to backup the database to a separate file each time. Don't overwrite older database backups for at least a week.
|
||||
cd /opt/seafile-backup/databases
|
||||
docker exec -it seafile-mysql mysqldump -uroot --opt ccnet_db > ccnet_db.sql
|
||||
docker exec -it seafile-mysql mysqldump -uroot --opt seafile_db > seafile_db.sql
|
||||
docker exec -it seafile-mysql mysqldump -uroot --opt seahub_db > seahub_db.sql
|
||||
```
|
||||
|
||||
#### Backing up Seafile library data
|
||||
|
||||
##### To directly copy the whole data directory
|
||||
|
||||
```bash
|
||||
cp -R /opt/seafile-data/seafile /opt/seafile-backup/data/
|
||||
cd /opt/seafile-backup/data && rm -rf ccnet
|
||||
```
|
||||
|
||||
##### Use rsync to do incremental backup
|
||||
|
||||
```bash
|
||||
rsync -az /opt/seafile-data/seafile /opt/seafile-backup/data/
|
||||
cd /opt/seafile-backup/data && rm -rf ccnet
|
||||
```
|
||||
|
||||
### Recovery
|
||||
|
||||
#### Restore the databases
|
||||
|
||||
```bash
|
||||
docker cp /opt/seafile-backup/databases/ccnet_db.sql seafile-mysql:/tmp/ccnet_db.sql
|
||||
docker cp /opt/seafile-backup/databases/seafile_db.sql seafile-mysql:/tmp/seafile_db.sql
|
||||
docker cp /opt/seafile-backup/databases/seahub_db.sql seafile-mysql:/tmp/seahub_db.sql
|
||||
|
||||
docker exec -it seafile-mysql /bin/sh -c "mysql -uroot ccnet_db < /tmp/ccnet_db.sql"
|
||||
docker exec -it seafile-mysql /bin/sh -c "mysql -uroot seafile_db < /tmp/seafile_db.sql"
|
||||
docker exec -it seafile-mysql /bin/sh -c "mysql -uroot seahub_db < /tmp/seahub_db.sql"
|
||||
```
|
||||
|
||||
### Restore the seafile data
|
||||
|
||||
```bash
|
||||
cp -R /opt/seafile-backup/data/* /opt/seafile-data/seafile/
|
||||
```
|
||||
|
|
|
|||
Loading…
Reference in New Issue