Skip to content
Snippets Groups Projects
Select Git revision
  • 3620e962b72a1bbbe34535c1eb9777a12566c416
  • master default protected
  • simple-task/7248-eol-check-add-node-22
  • 6877_check_iml_deployment
4 results

check_packages2install

Blame
  • newservice.sh.example 2.95 KiB
    #!/bin/bash
    # ================================================================================
    #
    # LOCALDUMP :: NEW SERVICE
    #
    # ================================================================================
    
    if [ -z "$BACKUP_TARGETDIR" ]; then
      echo "ERROR: you cannot start $(basename $0) directly"
      rc=$rc+1
      exit 1
    fi
    
    # --------------------------------------------------------------------------------
    # CONFIG
    # --------------------------------------------------------------------------------
    
    SERVICEFOUND=0
    
    # --------------------------------------------------------------------------------
    # FUNCTIONS
    # --------------------------------------------------------------------------------
    
    function checkRequirements(){
    
      j_requireBinary "client"             1
      j_requireBinary "dumper"             1
      j_requireProcess "service1|service2" 1
    
      if [ ! -d $SOURCE_DIR ]; then
        echo "INFO: directory $SOURCE_DIR doees not exist."
        rc=$rc+1
      fi
    
      # set flag and reset return code
      test $rc -eq 0 && SERVICEFOUND=1
      rc=0
    }
    
    # detect and backup all databases of the service
    function doBackup(){
    
      create_targetdir
    
      for DATABASE_DIR in __DATABASE_LIST__
      do
    
        DUMPCOMMAND  [params] "$DATABASE" > "$OUTFILE" 
        fetchrc
    
        # $myrc is last returncode - set in fetchrc
        if [ $myrc -eq 0 ]; then
            echo -n "gzip ... "
            compress_file "$OUTFILE"
        else
            echo "ERROR occured - no gzip"
        fi
        ls -l "$OUTFILE"*
        echo
      done
    
    }
    
    # restore database dump file into database
    # param  string  database dump file (gzipped)
    # param  string  optional: database to import; default: database is parsed from file
    function restoreByFile(){
      sMyfile=$1
      sMyDb=$2
    
      if [ -z "$sMyDb" ]; then
        h2 "analyze dump $sMyfile"
        sMyDb=$(guessDB $sMyfile)
        echo "detected db schema from file: [${sMyDb}]"
      else
        echo "db schema from param 2: [${sMyDb}]"
      fi
    
      echo
    
      echo import to "$sMyDb"...
    
      h2 ensure that database exists ...
      color cmd
      echo "CREATE DATABASE IF NOT EXISTS ${sMyDb};" | mysql
      color reset
    
      h2 import ...
      ls -l "$sMyfile"
      echo "import to database [${sMyDb}]"
      color cmd
      zcat "$sMyfile" | mysql "${sMyDb}"
      fetchrc
      color reset
    
    }
    
    # --------------------------------------------------------------------------------
    # MAIN
    # --------------------------------------------------------------------------------
    
    
    # ----- set action
    
    checkRequirements >/dev/null 2>&1
    if [ $SERVICEFOUND -eq 0 ]; then
      echo "INFO: service [$SERVICENAME] is not avilable on this machine."
    fi
    
    case $1 in
      check)
        # repeat check ... but show output
        echo
        echo Details:
        checkRequirements
        echo
        ;;
      backup)    
        test $SERVICEFOUND -eq 1 && doBackup
        ;;
      restore)
        shift 1
        test $SERVICEFOUND -eq 1 && restoreByFile $*
        ;;
      *)
        echo ERROR: wrong syntax: 
        echo $0 $*
        exit 1
    esac
    
    echo "INFO: $0 $* [$SERVICENAME] final returncode rc=$rc"
    
    # --------------------------------------------------------------------------------