|
|
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 8: |
Zeile 8: |
| * [[Mikiwiki:Korrekturen]] | | * [[Mikiwiki:Korrekturen]] |
| * [[Mikiwiki:Ergänzungen]] | | * [[Mikiwiki:Ergänzungen]] |
| + | |
| + | Aktualisierungen: |
| + | * [[:Kategorie:Datenupdate_01|Januar]] |
| | | |
| == Werkzeuge == | | == Werkzeuge == |
Zeile 18: |
Zeile 21: |
| | | |
| * http://mikiwiki.org/wiki/Spezial:Version | | * http://mikiwiki.org/wiki/Spezial:Version |
− |
| |
− |
| |
− | <!--
| |
− | sisis@aesch:~/bin> more SybSave-AESCH.sh
| |
− | #!/bin/bash
| |
− | #
| |
− | # Name SybSave-AESCH.sh
| |
− | # Author Michael Kuhn, OCLC AG
| |
− | # Date 2010.07.13
| |
− | # Description Use these parameters
| |
− | # - nothing or "full" will dump database and dump transactio
| |
− | # (with log truncation)
| |
− | # - "trans" will dump transaction (log truncation)
| |
− |
| |
− | set -a # export all variables
| |
− | set -e # stop at errors
| |
− | set -x
| |
− |
| |
− | ##### MANUAL CONFIGURATION #####
| |
− |
| |
− | # Databases to be backed up
| |
− | #
| |
− | DATABASESTOBACKUP="sisis"
| |
− |
| |
− | # Path and name of the file for dump database (without closing "/")
| |
− | # NOTE: You must make sure that both users "sisis" and "sybase" have write
| |
− | # permission in the directory because the dump is done by Sybase as "sybase"
| |
− | # and other work as "sisis"
| |
− | DBSAVEPATH="/backup/SYBASE"
| |
− |
| |
− | # Path for dump transactions (without closing "/")
| |
− | #
| |
− | TRANSDUMPPATH="/SunRiseDatabaseLog/logSave"
| |
− |
| |
− | # Transaction logs older than $TRANS_DEL days will be removed
| |
− | #
| |
− | TRANS_DEL=10
| |
− |
| |
− | ##### AUTOMATIC CONFIGURATION #####
| |
− |
| |
− | # Get the values from syb.rc
| |
− | #
| |
− | PATH=$PATH:/usr/local/bin
| |
− | . $(pkgparam sisisbase SISISROOT)/etc/syb.rc
| |
− | if [ "$(echo ${SC_SQL} | grep -q 12_5 ; echo $?)" = 0 ]; then
| |
− | export LANG=de
| |
− | elif [ "$(echo ${SC_SQL} | grep -q 15_0 ; echo $?)" = 0 ]; then
| |
− | export LANG=de_DE.UTF-8
| |
− | else
| |
− | echo "Unknown Sybase version. No connection possible"
| |
− | exit 1
| |
− | fi
| |
− | SYBASEUSER=sa
| |
− | PASSWORD=$(cat ${SISISROOT}/etc/syb/syb.pw | \
| |
− | grep ^${SYBASEUSER}: | awk -F: '{ print $2 }' | tr -d '\012')
| |
− | SYBASELOGIN="${SC_SQL} -U${SYBASEUSER} -P${PASSWORD} -S${DSQUERY}"
| |
− | DUMPSUFFIX=$(date "+.%F-%H%M%S")
| |
− |
| |
− | ##### MAIN PROGRAM #####
| |
− |
| |
− | for i in ${DATABASESTOBACKUP}
| |
− | do
| |
− | DATABASE=${i}
| |
− | DBSAVEFILE=${DBSAVEPATH}/DBSAVE${DATABASE}.cdmp
| |
− | TRANSDUMPFILE=${TRANSDUMPPATH}/${DATABASE}/${DATABASE}${DUMPSUFFIX}
| |
− |
| |
− | if [ $# -eq 0 ]; then
| |
− | SAVEMODE="full"
| |
− | else
| |
− | case $1 in
| |
− | full) SAVEMODE="full"
| |
− | printf "\nsaving complete database %s\n\n" ${DATABASE}
| |
− | NOTRUNCOPT=""
| |
− | ;;
| |
− | trans) SAVEMODE="trans"
| |
− | NOTRUNCOPT=""
| |
− | printf "\nsaving transaction logs of database %s\n\n" ${DATABASE}
| |
− | ;;
| |
− | trans_notrunc) SAVEMODE="trans"
| |
− | NOTRUNCOPT="with no_truncate"
| |
− | printf "\nsaving transaction logs of database %s "
| |
− | printf "without truncate logs\n\n" ${DATABASE}
| |
− | ;;
| |
− | *) printf "unknown mode [%s] - exit\n" $1
| |
− | exit 1
| |
− | ;;
| |
− | esac
| |
− | fi
| |
− |
| |
− | set +e
| |
− | # let's see if we can connect at all
| |
− | ${SYBASELOGIN} < /dev/null > /dev/null
| |
− | if [ $? -ne 0 ]; then
| |
− | printf "Can't connect to Sybase server\n"
| |
− | exit 1
| |
− | fi
| |
− | set -e
| |
− |
| |
− | # full: dump database
| |
− | if [ ${SAVEMODE} = "full" ]; then
| |
− |
| |
− | if [ ! -f ${DBSAVEFILE} ]; then
| |
− | touch ${DBSAVEFILE} && chmod 777 ${DBSAVEFILE}
| |
− | else
| |
− | mv -f ${DBSAVEFILE} ${DBSAVEFILE}-OLD
| |
− | fi
| |
− |
| |
− | printf "dump database ${DATABASE} to \"${DBSAVEFILE}\"
| |
− | with compression=6\ngo\n" | ${SYBASELOGIN}
| |
− |
| |
− | for i in /media/FLASHDRIVE
| |
− | do
| |
− | sleep 10
| |
− | if [ -f ${i}/dont-remove-me ]; then
| |
− | sudo /bin/cp /backup/SYBASE/DBSAVEsisis.cdmp ${i} && \
| |
− | DATUM=$(date "+%e. %B %Y %H:%M") && \
| |
− | echo "$DATUM Sicherung auf USB-Stick $i verschoben!" > \
| |
− | /usr/local/sisis-pap/tomcat/webapps/ROOT/sicherung-usb.txt && \
| |
− | sync && \
| |
− | sudo /bin/umount ${i}
| |
− | else
| |
− | sudo /bin/mount /dev/sdb1 ${i} && \
| |
− | sudo /bin/cp /backup/SYBASE/DBSAVEsisis.cdmp ${i} && \
| |
− | DATUM=$(date "+%e. %B %Y %H:%M") && \
| |
− | echo "$DATUM Sicherung auf USB-Stick $i verschoben!" > \
| |
− | /usr/local/sisis-pap/tomcat/webapps/ROOT/sicherung-usb.txt && \
| |
− | sync && \
| |
− | sudo /bin/umount ${i}
| |
− | if [ $? != 0 ]; then
| |
− | DATUM=$(date "+%e. %B %Y %H:%M")
| |
− | echo "$DATUM Sicherung konnte nicht auf USB-Stick verschoben \
| |
− | werden! Womöglich war der USB-Stick nicht eingesteckt." > \
| |
− | /usr/local/sisis-pap/tomcat/webapps/ROOT/sicherung-usb.txt
| |
− | fi
| |
− | fi
| |
− | done
| |
− |
| |
− | set +e
| |
− | find ${TRANSDUMPPATH}/${DATABASE} -mtime +${TRANS_DEL} -exec rm -f {} \;
| |
− | set -e
| |
− | fi
| |
− |
| |
− | # dump transaction
| |
− | printf "dump transaction ${DATABASE} to \"${TRANSDUMPFILE}\"
| |
− | ${NOTRUNCOPT} compression=6\ngo" | ${SYBASELOGIN}
| |
− |
| |
− | done
| |
− |
| |
− | -->
| |
− |
| |
| | | |
| | | |
| {{cat|Mikiwiki}} | | {{cat|Mikiwiki}} |