SQWareProduction:sybase:bin:sqwsyb CopyDumpDatabase.ksh
Contents
Presentation
Script $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh :
Copy Dump file by rsync between two dataservers
You can choose different options:
- different unix users between the two dataservers
- parallel degree of copy
- the file to copy (latest full Dump by default)
- different directory (by default search in standard directory)
The script can also:
- run shell script before Load
- run shell script after Load
Online help
The online help is available for most scripts with the -h option.
Ex: $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -h
Content of this assistance :
Sourcing sqwsyb_Global.lib v2024.07 SQWareProduction for Sybase (dbSQWare) ... Usage: sqwsyb_CopyDumpDatabase.ksh [[-h]] -I <dataserver> -DT <DatabaseTarget> -SS <SourceDataserver> [ -US <SourceHostname> | -Local ] [[+ options]] DESCRIPTION sqwsyb_CopyDumpDatabase.ksh copy of Dump $lvsqw_CopyType SUPPORT Sybase supported versions: 12.5 <= v <= 16.0 PARAMETERS -I dataserver : Target dataserver. -DT DatabaseTarget : Target database. -SS dataserver : Source dataserver. -US hostname : Source hostname. OPTIONS -h : Display the full usage. -s : Display samples of usage. -NoMail : Deactivate sendmail on error pmexpdba@gmail.com (by default, send on error). -P Nb processes : Max number of processes (by default ). -F file : Dump file to copy (by default take the latest). -HI Nb : Nb of generations to keep (by default 1). -DD date_Dump : Date of Dump to copy (by default take the latest). -RD directory : Directory holding dump file (by default /$(echo ${HOME}|cut -d/ -f2)/syb_dump/$DSQUERY). -RDS directory : Directory holding source dump file (by default /$(echo ~$lvsqw_UserUnixSource|cut -d/ -f2)/syb_dump/$lvsqw_DataserverSource). -UUS username : Source unix user(by default, same as target). -Type type : Type of copy full,inc,stb,fstb (by default full). -Local : use local copy (cp) instead of remote copy (rsync). -AddMail email : Email address to add at 'pmexpdba@gmail.com'. -SendReport : Send execution log report. -AddFlagName mflag : Search dumps with '.mflag' at end of name. -Locale locale : Force Locale for help display (fr,en). -AGR Nb_sec : Nb of seconds between two runs (by default 10s). -AGE Nb_sec : Nb of seconds between two checks of end (by default 30s). -FRT code : Force return code value on error. -Exec : Copy files $lvsqw_CopyType (by default, display generated commands).
Error management
Errors passing arguments
This type of message is generated:
Lack 'dataserver' parameter, Usage: sqwsyb_CopyDumpDatabase.ksh [[-h]] -I <dataserver> -DT <DatabaseTarget> -SS <SourceDataserver> [ -US <SourceHostname> | -Local ] [[+ options]] For full help : sqwsyb_CopyDumpDatabase.ksh -h
If you are connecting through a terminal, no mail will be sent and you will have more this kind of message:
Begining : 2020-12-15 21:22:39 End : 2020-12-15 21:22:39 Duration : 00:00:00
If you are not connected to a terminal, the error message appears and is sent by mail to the address contained in the variable $gvsqw_GlobalMail (See help customize this variable). The subject line will always start by "$gvsqw_MailMsg_sybase : " (See help customize this variable).
Execution errors
Whether you are or not connected to a terminal, the error message appears and an email containing a summary of treatment errors is sent to the address contained in the variable $gvsqw_Mail_sybase (See help customize this variable). The subject line will always start by "$gvsqw_MailMsg_sybase : " (See help customize this variable).
Usage examples
Sourcing sqwsyb_Global.lib v2024.07 SQWareProduction for Sybase (dbSQWare) ... #Standard help for script sqwsyb_CopyDumpDatabase.ksh: $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -h #Display online help for this script $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -Locale en -h #Display online help for this script with forcing of the 'en' locale (by default locale managed by $gvsqw_Locale) $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -s #Display usage examples for this script $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -I $DSQUERY -DT <DbName> -SS $DSQUERY_SOURCE -US <HostnameSource> #Generate commands but don't execute them ! $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -I $DSQUERY -DT <DbName> -SS $DSQUERY_SOURCE -US <HostnameSource> -Exec #Copy the dump file by rsync between two dataservers $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -I $DSQUERY -DT <DbName> -SS $DSQUERY_SOURCE -US <HostnameSource> -DD <date> -RD <DirName> -Exec #copy dump file at date <date> (by default, the latest) to directory target (by default $gvsqw_RootDump) $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -I $DSQUERY -DT <DbName> -SS $DSQUERY_SOURCE -US <HostnameSource> -RDS <DirName> -Exec #Directory to find source dump file (by default $gvsqw_RootDumpSource) $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -I $DSQUERY -DT <DbName> -SS $DSQUERY_SOURCE -US <HostnameSource> -UUS <username> -Exec #Execute the script as source user unix (by default, same as target) $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -I $DSQUERY -DT <DbName> -SS $DSQUERY_SOURCE -US <HostnameSource> -AddFlagName -Exec #Search the dump files whose names ends by '.mflag' $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -I $DSQUERY -DT <DbName> -SS $DSQUERY_SOURCE -US <HostnameSource> -F <File> -Exec #Copy the dump file <File> by rsync between two dataservers $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -I $DSQUERY -DT <DbName> -SS $DSQUERY_SOURCE -US <HostnameSource> -AGR 20 -Exec #Set the waiting time in seconds between two command run, 20s here $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -I $DSQUERY -DT <DbName> -SS $DSQUERY_SOURCE -US <HostnameSource> -AGE 30 -Exec #Set the waiting time in seconds between two end checks, 30s here $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -I $DSQUERY -DT <DbName> -SS $DSQUERY_SOURCE -US <HostnameSource> -HI <NumberOfGenerations> -Exec #change the number of generation to keep $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -I $DSQUERY -DT <DbName> -SS $DSQUERY_SOURCE -US <HostnameSource> -Type <TypedeDump> -Local -Exec #Execute generated commands in local and change dump type (full,inc,finc,stb,fstb) $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -I $DSQUERY -DT <DbName> -SS $DSQUERY_SOURCE -US <HostnameSource> -P <NumericValue> -Exec #Run sqwsyb_CopyDumpDatabase.ksh script with a parallel degree of '<NumericValue>' #Use by default the variable gvsqw_NbThreadXXX in $gvsqw_SybBin/../etc/sqwsyb_GlobalVar.cfg #You can change this default on all your environnement if you set this variable #in configuration file $gvsqw_SybBin/../etc_cust/sqwsyb_GlobalVar.cfg $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -I $DSQUERY -DT <DbName> -SS $DSQUERY_SOURCE -US <HostnameSource> -AddMail 'mymail1@mydomaine.com,mymail2@mydomaine.com' -Exec #Add the mail list to the default address managed by the variable gvsqw_GlobalMail $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -I $DSQUERY -DT <DbName> -SS $DSQUERY_SOURCE -US <HostnameSource> -SendReport -Exec #Send the log by email at the end of the treatment even if there is no error $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -I $DSQUERY -DT <DbName> -SS $DSQUERY_SOURCE -US <HostnameSource> -NoMail -Exec #Disables sending an email on error to $gvsqw_GlobalMail (by default, send on error) $gvsqw_SybBin/sqwsyb_CopyDumpDatabase.ksh -I $DSQUERY -DT <DbName> -SS $DSQUERY_SOURCE -US <HostnameSource> -FRT <NumericValue> -Exec #Force return code to '<NumericValue>' on error (if no error, "exit 0!") #You can also force return code of this script on all your #environnement if you set the variable: $gvsqw_ForcedReturnCodeScript_sqwsyb_CopyDumpDatabase=<NumericValue> #in configuration file $gvsqw_SybBin/../etc_cust/sqwsyb_GlobalVar.cfg