#!/bin/sh # # How to use this test # -------------------- # # * Get a working Windows OS on your network # * Install strawberry perl version with msi to c:/strawberry # http://www.bacula.org/downloads/depkgs-mingw32/strawberry-perl-5.10.1.0.msi # * Install the latest version of Bacula FD # * Copy or make accessible (Network share, VirtualBox share) # regress/scripts/regress-win32.pl # * Execute the script on the Windows box # perl regress-win32.pl # * Run this script with the proper config settings about WIN32 # see win32-fd-test # # * Install MSSQL with default options, put database username in config # WIN32_MSSQL_USER=sa # WIN32_MSSQL_PASS=password # # Note, once everything is setup, and you have run the above once # you can simply run the first part of this script prior to the URL= # to get the proper conf files loaded in bin, then manually # start bacula, and run the "MSSQLJob" backup job, then # restore it. # TestName="win32-mssql-test" . scripts/functions scripts/cleanup scripts/copy-test-confs cp scripts/win32-bacula-dir-systemstate.conf bin/bacula-dir.conf echo "Connect with Win32 server" URL=http://$WIN32_ADDR:8091 wget -qO $tmp/stop.log "$URL/stop" wget -qO $tmp/update.log "$URL/set_director_name?name=$HOST-dir;pass=$WIN32_PASSWORD" wget -qO $tmp/start.log "$URL/start" set -e wget -qO - "$URL/check_mssql?user=$WIN32_MSSQL_USER;pass=$WIN32_MSSQL_PASS" | grep OK wget -qO - "$URL/setup_mssql_db?db=db$$" | grep OK set +e echo "Start test" start_test cat <${cwd}/tmp/bconcmds @output messages @$out ${cwd}/tmp/log1.out status client=$WIN32_CLIENT label storage=File volume=TestVolume001 run job=MSSQLJob storage=File yes wait messages quit END_OF_DATA run_bacula wget -qO - "$URL/cleanup_mssql_db?db=db$$" | grep OK > /dev/null if [ $? -ne 0 ]; then print_debug "ERROR: can't remove mssql db$$" estat=1 fi cat <${cwd}/tmp/bconcmds @# @# now do a restore @# @$out ${cwd}/tmp/log2.out restore where=/ storage=File 5 cd @MSSQL/ cd SqlServerWriter/ cd WIN2003/ m db$$ done yes wait messages quit END_OF_DATA run_bconsole check_for_zombie_jobs storage=File stop_bacula check_two_logs wget -qO - "$URL/online_mssql_db?mdf=db$$;db=restoredb$$" | grep OK > /dev/null if [ $? -ne 0 ]; then print_debug "ERROR: can't put db$$ online" estat=1 fi wget -qO - "$URL/test_mssql_content?db=restoredb$$" | grep OK > /dev/null if [ $? -ne 0 ]; then print_debug "ERROR: can't get content of restoredb$$" estat=1 fi wget -qO $tmp/cleanup.log "$URL/cleanup_mssql_db?db=restoredb$$" end_test