mirror of
				https://github.com/bashclub/zamba-lxc-toolbox.git
				synced 2025-11-04 00:02:26 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1023 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1023 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
# Update Nextcloud
 | 
						|
# Place in /etc/cron.daily and make executable with: chmod +x /etc/cron.daily/nextcloud-update
 | 
						|
 | 
						|
user=www-data
 | 
						|
phpversion=php8.3
 | 
						|
path=/var/www/nextcloud
 | 
						|
logfile="/var/log/nextcloud-update.log"
 | 
						|
 | 
						|
ncc() {
 | 
						|
  sudo -u "$user" "$phpversion" "$path/occ" "$@"
 | 
						|
}
 | 
						|
 | 
						|
updater() {
 | 
						|
  sudo -u "$user" "$phpversion" "$path/updater/updater.phar" "$@"
 | 
						|
}
 | 
						|
 | 
						|
{
 | 
						|
  echo "===== $(date): Nextcloud Update Start ====="
 | 
						|
 | 
						|
  updater --no-backup --no-interaction
 | 
						|
 | 
						|
  subcommands=(
 | 
						|
    "db:add-missing-primary-keys"
 | 
						|
    "db:add-missing-indices"
 | 
						|
    "db:add-missing-columns"
 | 
						|
    "db:convert-filecache-bigint"
 | 
						|
    "files:scan-app-data"
 | 
						|
    "upgrade"
 | 
						|
  )
 | 
						|
 | 
						|
  for cmd in "${subcommands[@]}"; do
 | 
						|
    echo "Running: occ $cmd"
 | 
						|
    ncc -n $cmd
 | 
						|
  done
 | 
						|
 | 
						|
  # App Updates
 | 
						|
  echo "Updating apps..."
 | 
						|
  apps=$(ncc app:list | grep -Po 'Enabled:\s*\K.*' | tr -d ' ' | tr ',' '\n')
 | 
						|
  for app in $apps; do
 | 
						|
    echo "Updating app: $app"
 | 
						|
    ncc app:update "$app"
 | 
						|
  done
 | 
						|
 | 
						|
  echo "===== $(date): Nextcloud Update Finished ====="
 | 
						|
} >> "$logfile" 2>&1
 |