MEDIAWIKIbackup-DBwiki privat-kanzler.sh: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Michi (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „<source lang=php enclose=div> #!/bin/bash # # Name MEDIAWIKIbackup-DBwikidb-kanzler.sh # Author Michael Kuhn # Date 29 June 2008 # Descripti...“) |
Michi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
Das folgende Skript dient mir zur Sicherung des Mediawikis "wiki_privat" (Datenbank und Installationsverzeichnis). | |||
{| class=wikitable width=100% | |||
| | |||
<source lang=php enclose=div> | <source lang=php enclose=div> | ||
#!/bin/bash | #!/bin/bash | ||
# | # | ||
# Name MEDIAWIKIbackup- | # Name MEDIAWIKIbackup-DBwiki_privat-kanzler.sh | ||
# Author Michael Kuhn | # Author Michael Kuhn | ||
# Date | # Date 2010.10.16 | ||
# Description Basic backup script for a Mediawiki installation | # Description Basic backup script for a Mediawiki installation | ||
Zeile 12: | Zeile 16: | ||
# The database the wiki stores data in | # The database the wiki stores data in | ||
MEDIAWIKIDATABASE=" | MEDIAWIKIDATABASE="wiki_privat" | ||
# | # | ||
USER=root | USER=root | ||
# | # | ||
PASSWORD= | PASSWORD=xxxxxx | ||
# | # | ||
# The directory Mediawiki is installed in | # The directory Mediawiki is installed in | ||
Zeile 28: | Zeile 32: | ||
# | # | ||
# An e-mail address to notify | # An e-mail address to notify | ||
EMAILTO= | EMAILTO=xxx@xxx.xx | ||
Zeile 94: | Zeile 98: | ||
##### END ##### | ##### END ##### | ||
</source> | </source> | ||
|} |
Version vom 16. Oktober 2010, 20:55 Uhr
Das folgende Skript dient mir 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 #####
|