SQWareProduction:postgres:bin:sqwpg CopyDumpAllDatabases.ksh

From Wiki_dbSQWare
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Presentation

Script $gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh :


Run of sqwpg_CopyDumpDatabase.ksh in parallel mode
You can choose:

  • The parallel degree
  • Aggressiveness of run (number of seconds between two runs)
  • Aggressiveness of check end (number of seconds between two checks of end)


Filters to generate database list (you can mix all off them):

  • Include list of database
  • Exclude list of database
  • Include like clause
  • Exclude like clause
  • Where clause



Online help

The online help is available for most scripts with the -h option.
Ex: $gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -h
Content of this assistance :

Sourcing sqwpg_Global.lib v2025.07 SQWareProduction for PostgreSQL (dbSQWare) ... 

Usage: sqwpg_CopyDumpAllDatabases.ksh [-h] -I instance -IS <SourceInstance> -US <SourceHostname> [+ options]

DESCRIPTION
   sqwpg_CopyDumpAllDatabases.ksh copy of dump all databases in parallel
SUPPORT
   PostgreSQL supported versions: 9.0 <= v <= 17

PARAMETERS
     -I  instance       : Target instance to copy.
     [
     -GetInf  u@h:path  : user@host:path to retrieve dump from distant source.
     OR
     -PutInf  u@h:path  : user@host:path to push dump to distant host.
     OR
     -IS instance       : Source instance.
     -US hostname       : Source hostname.
     ]
OPTIONS
     -P  Nb threads     : Number of threads in parallel (by default 2).
     -ID   listdb       : List of databases to copy (by default all).
     -ED   listdb       : List of databases to exclude.
     -IL   likeclause   : Like clause to generate databases list (example: 'db%').
     -EL   likeclause   : Like clause to exclude databases (example: 'nodb%').
     -HI   Nb           : Nb of generations to keep, only for get option (by default 1).
     -RD   directory    : Local directory to get or put dump file (by default /pgbackup/$PG_SID).
     -RDS  directory    : Distant directory to get or put dump file (by default /pgbackup/$lvsqw_InstanceSource).
     -UUS  username     : Source unix user(by default, same as target).
     -WCD  whereclause  : Where clause to generate databases list.
     -AGR Nb_sec        : Nb of seconds between two runs (by default 1s).
     -AGE Nb_sec        : Nb of seconds between two checks of end (by default 10s).
     -FRT       code    : Force return code value on error.
     -Before scriptname : Script to execute before copy dump.
     -After  scriptname : Script to execute after copy dump.
     -NoMail            : Deactivate sendmail on error demo-sqwarebox@dbsqware.com (by default, send on error).
     -Locale    locale  : Force Locale for help display (fr,en).
     -AddMail   email   : Email address to add at 'demo-sqwarebox@dbsqware.com'.
     -SendReport        : Send execution log report.
     -h                 : Display the full usage.
     -s                 : Display samples of usage.
     -Exec              : Execute commands (by default, display generated commands).

Note:
To be sure the aid is accurate, refer directly to the online help script -h option.


Error management

Errors passing arguments

This type of message is generated:

Lack 'PG_SID' parameter, Usage: sqwpg_CopyDumpAllDatabases.ksh [-h]  -I instance -IS <SourceInstance> -US <SourceHostname> [+ options]
For full help : sqwpg_CopyDumpAllDatabases.ksh -h

If you are connecting through a terminal, no mail will be sent and you will have more this kind of message:

Not sending mail because you are in connected mode !!!
Lack 'PG_SID' parameter

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_postgres : " (See help customize this variable).

Note:
Sending mail can be disabled by the option -NoMail for one execution.


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_postgres (See help customize this variable). The subject line will always start by "$gvsqw_MailMsg_postgres : " (See help customize this variable).

Note:
Sending mail can be disabled by the option -NoMail for one execution.


Usage examples

Sourcing sqwpg_Global.lib v2025.07 SQWareProduction for PostgreSQL (dbSQWare) ... 

#Standard help for script sqwpg_CopyDumpAllDatabases.ksh:


$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -h
#Display online help for this script

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -Locale en -h
#Display online help for this script with forcing of the 'en' locale (by default locale managed by $gvsqw_Locale)

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -s
#Display usage examples for this script

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -IS <SourceInstance> -US <SourceHostname>
#Generate commands but don't execute them !

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -GetInf <user@host:path>
#Generate commands but don't execute them !

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -PutInf <user@host:path>
#Generate commands but don't execute them !

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -IS <SourceInstance> -US <SourceHostname> -Exec
#Execute sqwpg_DumpDatabase.ksh in parallel mode for all the databases on instance $PG_SID

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -GetInf <user@host:path> -Exec
#Execute sqwpg_DumpDatabase.ksh in parallel mode for retrieve dump files for all the databases on instance $PG_SID

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -PutInf <user@host:path> -Exec
#Execute sqwpg_DumpDatabase.ksh in parallel mode for push dump files for all the databases on instance $PG_SID

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -IS <SourceInstance> -US <SourceHostname> -RD <DirName> -Exec
#Copy dump on directory target (by default /pgbackup/$PG_SID)

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -GetInf <user@host:path> -After <script> -Exec
#Execute the script <script> after copying the dumps 

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -GetInf <user@host:path> -Before <script> -Exec
#Execute the script <script> before copying the dumps

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -IS <SourceInstance> -US <SourceHostname> -RDS <DirName> -Exec
#Directory to find the dump file to copy (by default $gvsqw_RootDumpSource)

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -IS <SourceInstance> -US <SourceHostname> -UUS <username> -Exec
#Execute the script as Source unix user(by default, same as target)

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -GetInf <user@host:path> -HI <NumberOfGenerations> -Exec
#Change number of Generation to keep

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -IS <SourceInstance> -US <SourceHostname> -AGR 20 -Exec
#Set the waiting time in seconds between two command run, 20s here

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -IS <SourceInstance> -US <SourceHostname> -AGE 30 -Exec
#Set the waiting time in seconds between two end checks, 30s here

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -GetInf <user@host:path> -ID 'DbName1,DbName2' -Exec
#Execute generated commands for only the 2 specified databases

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -GetInf <user@host:path> -ED 'DbName3,DbName4' -Exec
#Execute generated commands except for the 2 specified databases

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -GetInf <user@host:path> -IL '%_PROD' -Exec
#Clause like to generate dynamic database list to include (example: 'dbprod%')

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -GetInf <user@host:path> -EL '%_TESTS' -Exec
#Clause like to generate dynamic database list to exclude (example: 'dbtest%')

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -GetInf <user@host:path> -WCD '<condition>' -Exec
#Clause where to generate dynamic database list to include

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -P <NumericValue> -Exec
#Run sqwpg_CopyDumpDatabase.ksh script with a parallel degree of '<NumericValue>'
#Use by default the variable gvsqw_NbThreadXXX in $gvsqw_PgBin/../etc/sqwpg_GlobalVar.cfg
#You can change this default on all your environnement if you set this variable
#in configuration file $gvsqw_PgBin/../etc_cust/sqwpg_GlobalVar.cfg

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -IS <SourceInstance> -US <SourceHostname> -AddMail 'mymail1@mydomaine.com,mymail2@mydomaine.com' -Exec
#Add the mail list to the default address managed by $gvsqw_GlobalMail

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -IS <SourceInstance> -US <SourceHostname> -SendReport -Exec
#Send the log by email at the end of the treatment even if there is no error

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -IS <SourceInstance> -US <SourceHostname> -NoMail -Exec
#Disables sending an email on error to $gvsqw_GlobalMail (by default, send on error)

$gvsqw_PgBin/sqwpg_CopyDumpAllDatabases.ksh -I $PG_SID -IS <SourceInstance> -US <SourceHostname> -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_sqwpg_CopyDumpAllDatabases=<NumericValue>
#in configuration file $gvsqw_PgBin/../etc_cust/sqwpg_GlobalVar.cfg

Note:
To be sure the examples are accurate, refer directly to the online help script -s option.