Add 'wikibackup'
This commit is contained in:
parent
faf9f9c707
commit
ac02a50174
1 changed files with 46 additions and 0 deletions
46
wikibackup
Normal file
46
wikibackup
Normal file
|
@ -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
|
Loading…
Reference in a new issue