97 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| # 2022-09-25 Hyperling
 | |
| # Put maintenance needs into a file so the commands do not need remembered.
 | |
| 
 | |
| ## Setup ##
 | |
| 
 | |
| DIR="$(dirname -- "${BASH_SOURCE[0]}")"
 | |
| PROG="$(basename -- "${BASH_SOURCE[0]}")"
 | |
| source $DIR/.env
 | |
| source $DIR/../../source.env
 | |
| 
 | |
| ## Main ##
 | |
| 
 | |
| ##### 20250616 - Apt and PHP commands now baked into the Dockerfile!! :D #####
 | |
| ###echo -e "\n*** APT ***"
 | |
| ###
 | |
| ###echo -e "\n`date` - Update Apt Cache"
 | |
| ###docker exec -it nc-app apt update -y
 | |
| ###
 | |
| ###echo -e "\n`date` - Install Additional Software"
 | |
| ###docker exec -it nc-app apt install -y sudo libmagickcore-6.q16-6-extra htop \
 | |
| ###	iputils-ping dnsutils vim bzip2 libbz2-dev # php-bz2
 | |
| ###
 | |
| #### 20240130
 | |
| #### https://help.nextcloud.com/t/docker-image-setup-warning-missing-bz2-after-update-to-nc-28-0-0/176605
 | |
| ###echo -e "\n`date` - Compile PHP Modules"
 | |
| ###docker exec -it nc-app docker-php-ext-install bz2
 | |
| 
 | |
| # 2023-12-04 Make sure cron and chmod commands get run.
 | |
| echo -e "\n*** CRON ***"
 | |
| 
 | |
| echo -e "\n`date` - Run Cron Job"
 | |
| $DOCKER_HOME/Config/Nextcloud/cron.sh && echo "Success!"
 | |
| 
 | |
| # 2022-10-30 More additions after moving to Nextcloud version 25.
 | |
| echo -e "\n*** DATABASE ***"
 | |
| 
 | |
| echo -e "\n`date` - Enable Maintenance Mode"
 | |
| docker exec -itu www-data nc-app ./occ maintenance:mode --on
 | |
| 
 | |
| # 20251004: Disabled since it has not been working.
 | |
| # Clear DB errors by allowing the DB to perform any incremental upgrades.
 | |
| # https://jira.mariadb.org/browse/MDEV-26342
 | |
| #echo -e "\n`date` - mysql_upgrade"
 | |
| #time docker exec -it nc-db mysql_upgrade \
 | |
| #	-user="root" --password="$MYSQL_ROOT_PASSWORD"
 | |
| 
 | |
| echo -e "\n`date` - Enable Dynamic Row Formats"
 | |
| docker exec -it nc-db mysql -u "$MYSQL_USER" -p"$MYSQL_PASSWORD" \
 | |
|     -e "SELECT CONCAT('ALTER TABLE ', TABLE_NAME,' ROW_FORMAT=DYNAMIC; ') FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '$MYSQL_DATABASE' AND ENGINE = 'InnoDB' AND ROW_FORMAT != 'DYNAMIC'; " \
 | |
|     -B -N |
 | |
| while read -r sql; do
 | |
|     echo "SQL being executed: $sql "
 | |
|     docker exec nc-db mysql -u "$MYSQL_USER" -p"$MYSQL_PASSWORD" -e "$sql" "$MYSQL_DATABASE";
 | |
|     echo " - Done!\ "
 | |
| done
 | |
| 
 | |
| echo -e "\n`date` - Disable Maintenance Mode"
 | |
| docker exec -itu www-data nc-app ./occ maintenance:mode --off
 | |
| 
 | |
| echo -e "\n`date` - Add Missing Columns"
 | |
| docker exec -itu www-data nc-app ./occ db:add-missing-columns
 | |
| 
 | |
| echo -e "\n`date` - Add Missing Indexes"
 | |
| docker exec -itu www-data nc-app ./occ db:add-missing-indices
 | |
| 
 | |
| echo -e "\n`date` - Add Missing PKs"
 | |
| docker exec -itu www-data nc-app ./occ db:add-missing-primary-keys
 | |
| 
 | |
| echo -e "\n`date` - Convert Filecache BigInt"
 | |
| docker exec -itu www-data nc-app ./occ db:convert-filecache-bigint
 | |
| 
 | |
| # 2023-07-02
 | |
| echo -e "\n*** FILES ***"
 | |
| 
 | |
| # This maybe used to exist, but make sure that Files app is correct.
 | |
| echo -e "\n`date` - Scanning All Files"
 | |
| docker exec -itu www-data nc-app ./occ files:scan --all
 | |
| 
 | |
| # This one takes a while.
 | |
| echo -e "\n`date` - Scanning App Data"
 | |
| docker exec -itu www-data nc-app ./occ files:scan-app-data
 | |
| 
 | |
| # Extras? Have used the commands in the past and may help in the future.
 | |
| echo -e "\n`date` - Theme Update"
 | |
| docker exec -itu www-data nc-app ./occ maintenance:theme:update
 | |
| echo -e "\n`date` - Repair"
 | |
| docker exec -itu www-data nc-app ./occ maintenance:repair --include-expensive
 | |
| 
 | |
| # May also be useful but do not have much experience with them.
 | |
| echo -e "\n`date` - Clean Versions"
 | |
| docker exec -itu www-data nc-app ./occ versions:cleanup
 | |
| echo -e "\n`date` - Clean Files"
 | |
| docker exec -itu www-data nc-app ./occ files:cleanup
 | |
| 
 | |
| exit 0
 |