| 
									
										
										
										
											2024-12-14 16:23:24 +03:00
										 |  |  | #!/usr/bin/bash
 | 
					
						
							|  |  |  | #---------------------------------------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-16 16:48:37 +03:00
										 |  |  | #cd $(dirname $0) | 
					
						
							|  |  |  | #PATH=$PATH:$(dirname "$(pwd)") | 
					
						
							| 
									
										
										
										
											2024-12-14 16:23:24 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #---------------------------------------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | source ../.pct-helpers | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #---------------------------------------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | readConfig | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-16 16:48:37 +03:00
										 |  |  | #---------------------------------------------------------------------- | 
					
						
							|  |  |  | # handle args... | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | usage(){ | 
					
						
							|  |  |  | 	echo "$0 ID [DIR]" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # XXX  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-14 16:23:24 +03:00
										 |  |  | #---------------------------------------------------------------------- | 
					
						
							|  |  |  | #  | 
					
						
							|  |  |  | # see: | 
					
						
							|  |  |  | # 	https://docs.nextcloud.com/server/latest/admin_manual/maintenance/backup.html	 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-16 16:48:37 +03:00
										 |  |  | BACKUPDIR=${BACKUPDIR:=backup} | 
					
						
							| 
									
										
										
										
											2024-12-14 16:23:24 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | DATE=$(date +%Y%m%d%H%M) | 
					
						
							| 
									
										
										
										
											2024-12-16 16:48:37 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | xread "ID: " ID | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # XXX confirm?? | 
					
						
							|  |  |  | CTHOSTNAME=$(ct2hostname $ID) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DIR=${BACKUPDIR}/${DATE}-${CTHOSTNAME}-${ID} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "# BACKUP: $DIR" | 
					
						
							| 
									
										
										
										
											2024-12-14 16:23:24 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #---------------------------------------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-17 00:49:16 +03:00
										 |  |  | @ mkdir -p "${DIR}" | 
					
						
							|  |  |  | @ cd "${DIR}" | 
					
						
							| 
									
										
										
										
											2024-12-14 16:23:24 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | @ lxc-attach $ID -- turnkey-occ maintenance:mode --on | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-16 16:48:37 +03:00
										 |  |  | # XXX should we sleep here for a minute or 6 as is recommended in the docs??? | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-14 16:23:24 +03:00
										 |  |  | # sql... | 
					
						
							|  |  |  | # XXX db: | 
					
						
							|  |  |  | # 	mysqldump --single-transaction \ | 
					
						
							|  |  |  | # 		-h [server] -u [username] -p[password] \ | 
					
						
							|  |  |  | # 		[db_name] \ | 
					
						
							|  |  |  | # 		> nextcloud-sqlbkp_`date +"%Y%m%d"`.bak	 | 
					
						
							|  |  |  | # or: | 
					
						
							|  |  |  | #	mysqldump --single-transaction --default-character-set=utf8mb4 \ | 
					
						
							|  |  |  | #		-h [server] -u [username] -p[password] \ | 
					
						
							|  |  |  | #		[db_name] \ | 
					
						
							|  |  |  | #		> nextcloud-sqlbkp_`date +"%Y%m%d"`.bak | 
					
						
							|  |  |  | @ lxc-attach $ID -- mysqldump --single-transaction nextcloud > nextcloud.sql | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # files... | 
					
						
							| 
									
										
										
										
											2024-12-17 00:49:16 +03:00
										 |  |  | @ pct mount $ID | 
					
						
							| 
									
										
										
										
											2025-01-23 23:36:19 +03:00
										 |  |  | # XXX should this be an incremental backup/sync??? (i.e. removing deleted files (to a dir))??? | 
					
						
							| 
									
										
										
										
											2025-01-24 18:22:56 +03:00
										 |  |  | # 		...ask user / option?? | 
					
						
							| 
									
										
										
										
											2024-12-17 00:49:16 +03:00
										 |  |  | @ rsync -Aavx /var/lib/lxc/$ID/rootfs/var/www/nextcloud-data . | 
					
						
							|  |  |  | @ pct unmount $ID | 
					
						
							| 
									
										
										
										
											2024-12-14 16:23:24 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | @ lxc-attach $ID -- turnkey-occ maintenance:mode --off | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #---------------------------------------------------------------------- | 
					
						
							|  |  |  | # vim:set ts=4 sw=4 nowrap : |