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 2>/dev/null # 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" # 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"