MEDIAWIKIbackup-DBwiki privat-kanzler.sh
Das Skript "MEDIAWIKIbackup-DBwiki_privat-kanzler.sh" dient zur Sicherung des Mediawikis "wiki_privat" (Datenbank und Installationsverzeichnis).
#!/bin/bash
#
# Name MEDIAWIKIbackup-DBwiki_privat-kanzler.sh
# Author Michael Kuhn
# Date 2010.10.16
# Description Basic backup script for a Mediawiki installation
# set -x
##### CONFIGURATION #####
# The database the wiki stores data in
MEDIAWIKIDATABASE="wiki_privat"
#
USER=root
#
PASSWORD=xxxxxx
#
# The directory Mediawiki is installed in
MEDIAWIKIPATH=/var/www/wiki_privat
#
# The directory to write the backup to
BACKUPPATH=~/backup/mediawiki
#
# File system where the BACKUPPATH resides (according to "df -k")
BACKUPFILESYSTEM=/dev/md0
#
# An e-mail address to notify
EMAILTO=xxx@xxx.xx
##### MAIN #####
TIMESTAMP=$(date -I)
DATABASEDUMP=${BACKUPPATH}/DBSAVE${MEDIAWIKIDATABASE}-${TIMESTAMP}.sql.bz2
XMLFULLDUMP=${BACKUPPATH}/DBSAVE${MEDIAWIKIDATABASE}-full-${TIMESTAMP}.xml.bz2
XMLCURRENTDUMP=${BACKUPPATH}/DBSAVE${MEDIAWIKIDATABASE}-current-${TIMESTAMP}.xml
.bz2
FILEDUMP=${BACKUPPATH}/${MEDIAWIKIDATABASE}-${TIMESTAMP}.files.bz2
echo
echo "Mediawiki backup"
echo " Database : ${MEDIAWIKIDATABASE}"
echo " Directory: ${MEDIAWIKIPATH}"
echo " Backup to: ${BACKUPPATH}"
echo
echo "Creating database dump ${DATABASEDUMP}..."
/usr/bin/mysqldump -u ${USER} --password=${PASSWORD} \
--quick ${MEDIAWIKIDATABASE} |\
bzip2 -c > ${DATABASEDUMP} || exit $?
if [ $? = 0 ]
then
( printf "To: ${EMAILTO}\n" ;
printf "Subject: SUCCESS: $(uname -n) ";
printf "$(df -k | grep ${BACKUPFILESYSTEM} | awk '{print $5}')% ";
printf "dump ${MEDIAWIKIDATABASE} (hosttime $(date -I))\n";
printf "\n" ) | /usr/sbin/sendmail -f ${EMAILTO} -t
elif [ $? != 0 ]
then
( printf "To: ${EMAILTO}\n" ;
printf "Subject: ALARM!!! $(uname -n) ";
printf "Creating dump ${DATABASEDUMP} NOT successful! ";
printf "$(hosttime $(date -I))\n";
printf "\n" ) | /usr/sbin/sendmail -f ${EMAILTO} -t
fi
echo
echo "Creating XML full dump ${XMLFULLDUMP}..."
cd ${MEDIAWIKIPATH}/maintenance
php -d error_reporting=E_ERROR dumpBackup.php --full | \
bzip2 -c > ${XMLFULLDUMP} || exit $?
echo
echo "Creating XML current dump ${XMLCURRENTDUMP}..."
cd ${MEDIAWIKIPATH}/maintenance
php -d error_reporting=E_ERROR dumpBackup.php --current | \
bzip2 -c > ${XMLCURRENTDUMP} || exit $?
echo
echo "Creating file archive ${FILEDUMP}..."
cd "${MEDIAWIKIPATH}"
tar --exclude .svn -zcf ${FILEDUMP} . || exit $?
echo
echo "Done!"
echo
echo "Files to copy to a safe place:"
echo "- ${DATABASEDUMP}"
echo "- ${XMLFULLDUMP}"
echo "- ${XMLCURRENTDUMP}"
echo "- ${FILEDUMP}"
##### END #####
|