From ac02a5017452399e5c1b558f610687986652726c Mon Sep 17 00:00:00 2001 From: sixthhokage1 Date: Mon, 22 Jul 2019 06:55:49 +0000 Subject: [PATCH] Add 'wikibackup' --- wikibackup | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 wikibackup diff --git a/wikibackup b/wikibackup new file mode 100644 index 0000000..60e9243 --- /dev/null +++ b/wikibackup @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +# Script assumes backup dir structure of: +# $backup_path +# |- daily +# |- weekly +# |- $date +# Hardcoded rentention values: 7 days (1 week) for daily db backups, 28 days (~1 month) for full weekly backups + +mw_path='/var/mediawiki' +backup_path='/var/backup' +weekly_db='waapt_wiki' +weekly_tarball='wikidata' + +daily_backup() { + cd $mw_path + + php maintenance/sqlite.php --backup-to $backup_path/daily/$(date -I).sqlite + + find $backup_path/daily -mtime 7 -type f -delete +} + +weekly_backup() { + + daily_backup + + mkdir $backup_path/weekly/$(date -I) + cd $mw_path + + tar zcvhf $backup_path/weekly/$(date -I)/$weekly_tarball.tgz ./mediawiki + cp $backup_path/daily/$(date -I).sqlite $backup_path/weekly/$weekly_db.sqlite + + cd $backup_path/weekly + find . -mtime 28 -type d -delete +} + +case $1 in + daily) + daily_backup + ;; + weekly) + weekly_backup + ;; + *) + ;; +esac \ No newline at end of file