Rough gitea backup script
This commit is contained in:
		
							parent
							
								
									090289eafc
								
							
						
					
					
						commit
						543834a894
					
				
					 1 changed files with 37 additions and 0 deletions
				
			
		
							
								
								
									
										37
									
								
								backups/create_gitea_backup.sh
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								backups/create_gitea_backup.sh
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,37 @@ | |||
| #!/bin/bash | ||||
| # Backup script for Gitea in a Kubernetes cluster | ||||
| 
 | ||||
| # `gitea dump` is a mess that we should not touch. We write our own backup scripts instead. | ||||
| 
 | ||||
| BACKUP_DEST='/mnt/PRIVATE_DOCS/BACKUPS/gitea' | ||||
| PASSFILE='./gitea_pass.txt' | ||||
| 
 | ||||
| # Retrieve container names | ||||
| base_container="$( docker ps --format '{{.Names}}' | grep 'hugit-gitea_hugit-gitea' )" | ||||
| database_container="$( docker ps --format '{{.Names}}' | grep 'hugit-postgresql_hugit-postgresql' )" | ||||
| 
 | ||||
| # Abort entire script if any command fails | ||||
| set -e | ||||
| 
 | ||||
| # Enable maintenance mode | ||||
| # Flush queues | ||||
| docker exec "${base_container}" gitea manager flush-queues | ||||
| # Pause queues | ||||
| # TODO | ||||
| 
 | ||||
| # Backup the database | ||||
| >&2 echo 'Backing up database' | ||||
| database_backupfile="gitea-sqlbkp_$( date +'%Y%m%d' ).bak" | ||||
| internal_database_backupfile="/tmp/${database_backupfile}" | ||||
| docker exec --env-file "${PASSFILE}" "${database_container}" pg_dump 'gitea' -cwv -h 'localhost' -U 'gitea' -f "${internal_database_backupfile}" | ||||
| docker cp "${database_container}":"${internal_database_backupfile}" "${BACKUP_DEST}" | ||||
| 
 | ||||
| # Backup files | ||||
| zip -r "${BACKUP_DEST}/gitea-data_$( date +'%Y%m%d' ).zip" '/mnt/APPS/hugit' | ||||
| 
 | ||||
| # Disable maintenance mode | ||||
| # TODO | ||||
| 
 | ||||
| # Double check | ||||
| # gitea doctor --all --log-file /tmp/doctor.log | ||||
| # TODO | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue