2025 RationalWiki 'Oregon Plan' Fundraiser

There is no RationalWiki without you. We are a small non-profit with no staff—we are hundreds of volunteers who document pseudoscience and crankery around the world every day. We will never allow ads because we must remain independent. We cannot rely on big donors with corresponding big agendas. We are not the largest website around, but we believe we play an important role in defending truth and objectivity.

Fighting pseudoscience isn't free.
We are 100% user-supported! Help and donate $5, $10, $20 or whatever you can today with PayPal Logo.png!
Donations so far: $8765.50Goal: $10000

User:Neiltyson1fan/How RationalWiki can autoupdate

From RationalWiki
Jump to navigation Jump to search

A strategy to autoupdate a 1.35 Mediawiki install

Process for autoupdating on 1.35 LTS[edit]

Bash script to run to update via Git (and cron):

#! /bin/bash
echo "BACKING UP DATABASE"

d=`date +%H%M%b%d%g`
echo $d

mysqldump -h "localhost" -u "redacted" -p"redacted" --single-transaction --default-character-set=binary redacted > /var/wikibackups/rationalwiki"$d".sql

cd /var/wikibackups && ls -tp | grep -v '/$' | tail -n +21 | xargs -d '\n' -r rm --

echo "DONE BACKING UP DATABASE"
echo "UPDATING MEDIAWIKI"
for f in /var/www/wikis/s \
        /var/www/wikis/s/vendor \
        /var/www/wikis/s/extensions/CSS \
        /var/www/wikis/s/extensions/CheckUser \
        /var/www/wikis/s/extensions/Cite \
        /var/www/wikis/s/extensions/CommonsMetadata \
        /var/www/wikis/s/extensions/ConfirmEdit \
        /var/www/wikis/s/extensions/Discord \
        /var/www/wikis/s/extensions/EmbedVideo \
        /var/www/wikis/s/extensions/Gadgets \
        /var/www/wikis/s/extensions/GoogleRichCards \
        /var/www/wikis/s/extensions/HitCounters \
        /var/www/wikis/s/extensions/Interwiki \
        /var/www/wikis/s/extensions/Lockdown \
        /var/www/wikis/s/extensions/MobileFrontend \
        /var/www/wikis/s/extensions/Moderation \
        /var/www/wikis/s/extensions/MultimediaViewer \
        /var/www/wikis/s/extensions/PageImages \
        /var/www/wikis/s/extensions/ParserFunctions \
        /var/www/wikis/s/extensions/Popups \
        /var/www/wikis/s/extensions/ReplaceText \
        /var/www/wikis/s/extensions/Scribunto \
        /var/www/wikis/s/extensions/SyntaxHighlight_GeSHi \
        /var/www/wikis/s/extensions/TextExtracts \
        /var/www/wikis/s/extensions/Theme \
        /var/www/wikis/s/extensions/TimedMediaHandler \
        /var/www/wikis/s/extensions/VisualEditor \
        /var/www/wikis/s/extensions/WikiEditor \
        /var/www/wikis/s/extensions/WikiSEO \
        /var/www/wikis/s/extensions/YouTube \
        /var/www/wikis/s/skins/Vector \
        /var/www/wikis/s/skins/foreground \

do
        s=$(sudo git -C $f show -s | grep -m1 commit | cut -c 8-48)
        echo "`date`"
        echo "$f $s"
        sudo git -C $f pull
        p=$(sudo git -C $f show -s | grep -m1 commit | cut -c 8-48)
        if [ $s != $p ]; then
                echo "previous commit: $s"
                echo "current commit: $p"
        fi
        echo ""
done
git -C /var/www/wikis/s/extensions/VisualEditor/ submodule update --init
echo "DONE UPDATING MEDIAWIKI"

echo "UPDATING DATABASES"

echo "rationalwiki english"
php /var/www/wikis/s/maintenance/update.php --conf /var/www/rationalwiki.com/LocalSettings.php --force --quick


echo "DONE UPDATING DATABASES"
echo "DONE WITH ALL UPDATING"