Mikiwiki:Portal: Unterschied zwischen den Versionen

Aus Mikiwiki
Wechseln zu: Navigation, Suche
(Der Seiteninhalt wurde durch einen anderen Text ersetzt: „Die Inhalte des "Mikiwiki:Portal" sind ausschliesslich für interne Zwecke gedacht, enthalten also keine für das Publikum gedachten In...“)
Zeile 18: Zeile 18:
  
 
* 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}}

Version vom 23. Juli 2010, 09:28 Uhr

Die Inhalte des "Mikiwiki:Portal" sind ausschliesslich für interne Zwecke gedacht, enthalten also keine für das Publikum gedachten Inhalte.

Inhaltsverzeichnis

Aufgaben

Werkzeuge