krisz:dokuwiki:upgrade

This is an old revision of the document!


DokuWiki Upgrade

upgrade-dokuwiki.sh
#!/bin/bash
 
dokuwikiDir=data
backupDir=backups
releaseDir=releases
 
# apache, vagy www-data
chownUser=www-data
chownGroup=www-data
 
deleteInstallPhp=true
 
# Making sure directories exist
[[ -d $backupDir ]] || mkdir $backupDir
[[ -d $releaseDir ]] || mkdir $releaseDir
 
curTime=$(date '+%F_%T' | tr -d ':')
 
# Create backup from $dokuwikiDir to $backupFile"
backupFile=$backupDir/dokuwiki_${curTime}_backup.tar.gz
tar --use-compress-program="pigz -9 -k" -cf $backupFile $dokuwikiDir
 
# 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
 
# Extract tarball
tmpDir=$(mktemp -d)
tar zxf $releaseFile -C $tmpDir
 
echo "Installing"
'cp' -af $tmpDir/dokuwiki-$version/* $dokuwikiDir
 
# Delete extracted release
rm -rf $tmpDir
 
# Delete unused files"
grep -Ev '^($|#)' $dokuwikiDir/data/deleted.files | xargs -n 1 rm -vf
 
# Delete install.php
if [[ $deleteInstallPhp == "true" ]]; then
  rm -f $dokuwikiDir/install.php
fi
 
echo "Fixing permissions"
find $dokuwikiDir -type d -exec chown $chownUser:$chownGroup {} \;
find $dokuwikiDir -type f -exec chown $chownUser:$chownGroup {} \;
 
find $dokuwikiDir -type d -exec chmod 0755 {} \;
find $dokuwikiDir -type f -exec chmod 0644 {} \;
 
echo "Finished upgrade to $version"
  • Last modified: 2025/06/11 23:37