forked from alaub81/scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
wiki-mirror.sh
executable file
·35 lines (28 loc) · 1.19 KB
/
wiki-mirror.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash
# Dieses Skript erstellt eine 1zu1 Kopie eines Mediawikis auf einem anderen System
# by A.laub [email protected]
#Load the Pathes
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PATH
MYSQLDUMPUSER="wikiuser"
MYSQLDUMPPASSWORD="wiki2009!"
DUMPDATABASE="wikidb"
DUMPFILE="/tmp/$DUMPDATABASE.sql.gz"
TARGETHOST="warehouse.she.de"
DUMPTARGET="/tmp/$DUMPDATABASE.sql.gz"
SSHPORT="20002"
WIKIFILES="/srv/httpd/vhosts/www.laub-home.de/*"
TARGETWIKIFILES="/srv/httpd/vhosts/wiki2.laub-home.de/"
LSETTINGS="${TARGETWIKIFILES}htdocs/LocalSettings.php"
# Erstellt den MySQL Dump
mysqldump --databases $DUMPDATABASE -u$MYSQLDUMPUSER -p$MYSQLDUMPPASSWORD | gzip > $DUMPFILE
# Kopiere MySQL Dump
scp -q -P $SSHPORT $DUMPFILE $TARGETHOST:$DUMPTARGET
# Spiele MySQL Dump ein
ssh -p $SSHPORT $TARGETHOST "gunzip < $DUMPTARGET | mysql -u$MYSQLDUMPUSER -p$MYSQLDUMPPASSWORD"
# Sync Vhost Files
rsync --rsh="ssh -p$SSHPORT" --delete -azq --progress --partial --inplace --log-file=/dev/null --bwlimit=50 $WIKIFILES $TARGETHOST:$TARGETWIKIFILES
# Wiki auf ReadOnly stellen:
ssh -p $SSHPORT $TARGETHOST "sed -i -e s/'^#\$wgReadOnly'/'\$wgReadOnly'/g $LSETTINGS"
# Aufraeumen:
rm -f $DUMPFILE