krisz:dokuwiki:upgrade

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
krisz:dokuwiki:upgrade [2025/05/30 19:26] – created ventuszkrisz:dokuwiki:upgrade [2025/07/02 23:35] (current) ventusz
Line 7: Line 7:
 backupDir=backups backupDir=backups
 releaseDir=releases releaseDir=releases
 +
 +# apache, vagy www-data
 +chownUser=www-data
 +chownGroup=www-data
  
 deleteInstallPhp=true deleteInstallPhp=true
- 
-# Making sure directories exist 
-[[ -d $backupDir ]] || mkdir $backupDir 
-[[ -d $releaseDir ]] || mkdir $releaseDir 
  
 curTime=$(date '+%F_%T' | tr -d ':') curTime=$(date '+%F_%T' | tr -d ':')
  
-backupFile=$backupDir/${dokuwikiDir}_${curTime}_backup.tar.gz +backup() { 
-echo "Creating backup from ./$dokuwikiDir to ./$backupFile" +  # Making sure directory exist 
-tar --use-compress-program="pigz -9 -k" -cf $backupFile $dokuwikiDir+  [[ -d $backupDir ]] || mkdir $backupDir 
 + 
 +  # Create backup from $dokuwikiDir to $backupFile 
 +  backupFile=$backupDir/dokuwiki_${curTime}_backup.tar.gz 
 +  tar --use-compress-program="pigz -9 -k" -cf $backupFile $dokuwikiDir 2>/dev/null 
 +
 + 
 +get_release() { 
 +  # Making sure directory exist 
 +  [[ -d $releaseDir ]] || mkdir $releaseDir 
 + 
 +  # Get version of stable release from download.dokuwiki.org 
 +  version=$(curl -s https://download.dokuwiki.org/ | grep "dokuwiki-stable.tgz" -A 1 | tail -n 1 | sed -E 's/.*hint">(.*) .*<\/span>.*/\1/'
 +  echo -e "Latest stable version: \e[33m$version\e[0m (download.dokuwiki.org)" 
 + 
 +  # Fetch release to $releaseFile 
 +  releaseFile=$releaseDir/dokuwiki-stable-$version.tgz 
 +  wget -q https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz -O $releaseFile 
 +}
  
-echo "Getting version of stable release from download.dokuwiki.org" +install_release() { 
-version=$(curl -s https://download.dokuwiki.org/ | grep "dokuwiki-stable.tgz" -A 1 | tail -n 1 | sed -E 's/.*hint">(.*) .*<\/span>.*/\1/'+  # Extract tarball 
-echo "Latest stable version is: $version"+  tmpDir=$(mktemp -d
 +  tar zxf $releaseFile -C $tmpDir
  
-releaseFile=$releaseDir/dokuwiki-stable-$version.tgz +  echo "Installing
-echo "Fetching release to ./$releaseFile+  'cp' -af $tmpDir/dokuwiki-$version/$dokuwikiDir
-wget -q https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz -O $releaseFile+
  
-echo "Extracting tarball" +  # Delete extracted release 
-tar zxf $releaseFile+  rm -rf $tmpDir 
 +}
  
-echo "Copying contents of new release+cleanup_install() { 
-'cp-af dokuwiki-$version/$dokuwikiDir+  # Delete unused files
 +  grep -Ev '^($|#)' $dokuwikiDir/data/deleted.files | xargs -n 1 rm -vf
  
-echo "Deleting unused files+  # Delete install.php 
-grep -Ev '^($|#)' $dokuwikiDir/data/deleted.files | xargs -n 1 rm -vf+  if [[ $deleteInstallPhp == "true]]; then 
 +    rm -$dokuwikiDir/install.php 
 +  fi 
 +}
  
-if [[ $deleteInstallPhp == "true" ]]; then +fix_permissions() { 
-  echo "Deleting install.php+  echo "Fixing permissions
-  rm -f $dokuwikiDir/install.php +  find $dokuwikiDir -type d -exec chown $chownUser:$chownGroup {} \; 
-fi+  find $dokuwikiDir -type f -exec chown $chownUser:$chownGroup {} \;
  
-echo "Fixing directory and file permissions" +  find $dokuwikiDir -type d -exec chmod 0750 {} \; 
-find data/ -type d -exec chown www-data:www-data {} \; +  find $dokuwikiDir -type f -exec chmod 0640 {} \; 
-find data/ -type f -exec chown www-data:www-data {} \;+}
  
-find data/ -type d -exec chmod 0755 {} \; +upgrade() 
-find data/ -type f -exec chmod 0644 {\;+  backup 
 +  get_release 
 +  install_release 
 +  cleanup_install 
 +  fix_permissions 
 +  echo "Finished upgrade to $version" 
 +}
  
-echo "Finished"+case "$1" in 
 +           backup)  backup          ;; 
 +  fix-permissions)  fix_permissions ;; 
 +       upgrade|"" upgrade         ;; 
 +                *)  echo "Usage: $0 [upgrade|backup|fix-permissions] (default: upgrade)"; exit 1 ;; 
 +esac
 </file> </file>
  
  • Last modified: 2025/05/30 19:26