MEDIAWIKIbackup-DBwiki privat-kanzler.sh: Unterschied zwischen den Versionen

Aus Mikiwiki
Wechseln zu: Navigation, Suche
(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...“)
 
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
 +
Das Skript "MEDIAWIKIbackup-DBwiki_privat-kanzler.sh" dient 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-DBwikidb-kanzler.sh
+
# Name        MEDIAWIKIbackup-DBwiki_privat-kanzler.sh
 
# Author      Michael Kuhn
 
# Author      Michael Kuhn
# Date        29 June 2008
+
# 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="wikidb"
+
MEDIAWIKIDATABASE="wiki_privat"
 
#
 
#
 
USER=root
 
USER=root
 
#
 
#
PASSWORD=7\%pg2Fc?
+
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=mik@michaelkuhn.ch
+
EMAILTO=xxx@xxx.xx
  
  
Zeile 94: Zeile 98:
 
##### END #####
 
##### END #####
 
</source>
 
</source>
 +
|}

Aktuelle Version vom 16. Oktober 2010, 23:00 Uhr

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 #####