krisz:dokuwiki:upgrade

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
krisz:dokuwiki:upgrade [2025/06/11 23:39] ventuszkrisz:dokuwiki:upgrade [2025/07/02 23:35] (current) ventusz
Line 13: Line 13:
  
 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 ':')
  
-# Create backup from $dokuwikiDir to $backupFile" +backup() { 
-backupFile=$backupDir/dokuwiki_${curTime}_backup.tar.gz +  # 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)"
  
-Get version of stable release from download.dokuwiki.org +  Fetch release to $releaseFile 
-version=$(curl -https://download.dokuwiki.org/ | grep "dokuwiki-stable.tgz-A 1 | tail -n 1 | sed -E 's/.*hint">(.*) .*<\/span>.*/\1/') +  releaseFile=$releaseDir/dokuwiki-stable-$version.tgz 
-echo -e "Latest stable version: \e[33m$version\e[0m"+  wget -q https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz -O $releaseFile 
 +}
  
-Fetch release to $releaseFile +install_release() { 
-releaseFile=$releaseDir/dokuwiki-stable-$version.tgz +  Extract tarball 
-wget -q https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz -O $releaseFile+  tmpDir=$(mktemp -d) 
 +  tar zxf $releaseFile -$tmpDir
  
-# Extract tarball +  echo "Installing" 
-tmpDir=$(mktemp -d) +  'cp' -af $tmpDir/dokuwiki-$version/* $dokuwikiDir
-tar zxf $releaseFile -$tmpDir+
  
-echo "Installing" +  # Delete extracted release 
-'cp' -af $tmpDir/dokuwiki-$version/* $dokuwikiDir+  rm -rf $tmpDir 
 +}
  
-# Delete extracted release +cleanup_install() { 
-rm -rf $tmpDir+  # Delete unused files" 
 +  grep -Ev '^($|#)' $dokuwikiDir/data/deleted.files | xargs -n 1 rm -vf
  
-# Delete 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 
 +}
  
-# Delete install.php +fix_permissions() { 
-if [[ $deleteInstallPhp == "true]]then +  echo "Fixing permissions" 
-  rm -f $dokuwikiDir/install.php +  find $dokuwikiDir -type d -exec chown $chownUser:$chownGroup {} \
-fi+  find $dokuwikiDir -type -exec chown $chownUser:$chownGroup {} \;
  
-echo "Fixing permissions" +  find $dokuwikiDir -type d -exec chmod 0750 {} \; 
-find $dokuwikiDir -type d -exec chown $chownUser:$chownGroup {} \; +  find $dokuwikiDir -type f -exec chmod 0640 {} \; 
-find $dokuwikiDir -type f -exec chown $chownUser:$chownGroup {} \;+}
  
-find $dokuwikiDir -type d -exec chmod 0755 {} \; +upgrade() 
-find $dokuwikiDir -type f -exec chmod 0644 {\;+  backup 
 +  get_release 
 +  install_release 
 +  cleanup_install 
 +  fix_permissions 
 +  echo "Finished upgrade to $version" 
 +}
  
-echo "Finished upgrade to $version"+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/06/11 23:39