sync_export_list
Generates and sends update packets
Applicability
Product | Command type |
---|---|
MultiSite | MultiSite command |
Platform |
---|
UNIX® |
Linux |
Windows® |
Synopsis
- Generate update packets:
- sync_export_list
- [ –c/ompress ] [ –lo/gdir log-directory ] [ –f/ship | –sh/ip ] [ –lockwait minutes ] [ –q/uiet mode ] [ –wo/rkdir directory ] [ –m/axsize max-packet-size ] [ –sc/lass storage-class ] [ –u/pdate ] [ –li/mit num-packets ] [ –t/race ] [ –p/oll ] [ –i/terate num-tries [ –wa/it num-seconds ] ] { –a/ll | –r/eplicas replica-list [ script-file ] | script-file }
- Process shipping orders in the host's storage bays:
- sync_export_list
- –p/oll [ –sc/lass storage-class ]
- Print help about command options:
- sync_export_list
- –h/elp
On Linux® and the UNIX system, sync_export_list is located in versionvault-home-dir/config/scheduler/tasks. On Windows, sync_export_list is located in versionvault-home-dir\config\scheduler\tasks.
Description
sync_export_list generates update packets for one or more replicas. You can specify options for packet generation and transport on the command line, in a script file, or by using a combination of the command line and a script file.
You can run sync_export_list manually or run it automatically with the schedule command. For more information, see the schedule reference page in the VersionVault Command Reference.
Retrying synchronization when the VOB is locked
By default, synchronization exports fail if the VOB is locked. To allow sync_export_list to retry an export when it encounters a lock, use the –lockwait option, which specifies the amount of time (in minutes) for sync_export_list to keep trying to write to the VOB. During that time, sync_export_list retries the write operation every minute. If the time elapses and the VOB is still locked, sync_export_list exits with an error.
The –lockwait option sets the CLEARCASE_VOBLOCKWAIT environment variable in the script's environment. If –lockwait is not used, sync_export_list ignores CLEARCASE_VOBLOCKWAIT if it is set outside the script's environment.
Configuration file
You can modify the behavior of the sync_export_list script by creating a file named MSimport_export.conf and setting values in it. On Linux and the UNIX system, create the file in the directory /var/adm/hcl/versionvault/config. On Windows, create the file in the directory versionvault-home-dir\var\config.
The file can include the following export setting:
- disable_export_locking = 1
- Disables use of the export lockfile, allowing multiple exports from a single replica to run simultaneously. Setting the value to 0 (default) enables use of the lockfile. This setting and the –lockwait option are not related. This setting configures use of the lock created by the sync_export_list process to prevent interference among export processes, and the –lockwait option handles VOB locks.
Troubleshooting
sync_export_list fails if another sync_export_list process is exporting data from the same replica, unless export locking is disabled (see Configuration file). This failure prevents interference among export processes. To retry an export, use the –iterate and –wait options.
To display informational messages, specify the –trace option on the command line.
To display all debugging print statements, set the TRACE_SUBSYS environment variable to the value sync_export_list.
sync_export_list creates a log file during execution. This log file is deleted unless sync_export_list fails or you use –trace or set TRACE_SUBSYS.
By default, log files are stored in the /var/adm/hcl/versionvault/log/sync_logs directory on Linux and the UNIX system, and in the versionvault-home-dir\var\log directory on Windows. The file name includes the process ID of the sync_export_list command and the time (in UTC format) at which you ran the command.
The Weekly Log Scrubbing job installed with HCL VersionVault deletes log files in /var/adm/hcl/versionvault/log/sync_logs (Linux and the UNIX system) or versionvault-home-dir\var\log (Windows) that have the prefix send or recv and the suffix _log and are more than 14 days old.
Restrictions
- VOB owner
- root (Linux and the UNIX system)
- Member of the VersionVault administrators group (Windows)
With –poll, you must have write and execute permissions on the directory containing the shipping orders, and on Linux and the UNIX system, you must own the shipping order files or be root.
Locks: An error occurs if one or more of these objects are locked: VOB.
Mastership: No mastership restrictions.
Options and arguments
- –h/elp
- Prints help about command options.
- –c/ompress
- Compresses update packets.
- –lo/gdir log-directory
- Writes log file to log-directory. You must have write access to log-directory.
- –f/ship –sh/ip
- By default, sync_export_list ships packets immediately (–fship). To store packets in the storage bay, specify –ship.
- –lockwait minutes
- Number of minutes for the script to keep retrying to write to the VOB, if the VOB is locked.
- –q/uietmode
- Suppresses messages sent to STDOUT. mode can have the
following values:
- 0
- (default) Prints errors, warnings, and informational messages
- 1
- Prints errors and warnings
- 2
- Suppresses all messages
- –wo/rkdir directory
- Writes temporary files to directory. directory must exist and be writable by the user who enters the sync_export_list command. If you do not specify –workdir, the script uses GetTmpdir() to find a directory.
- –m/axsize max-packet-size
- Maximum size for a physical packet, expressed as a number followed by
a single letter. For example:
- 500k
- 500 kilobytes
- 20m
- 20 megabytes
- 1.5g
- 1.5 gigabytes
If you do not specify –maxsize, sync_export_list uses the value specified in the shipping.conf file (Linux and the UNIX system) or MultiSite Control Panel (Windows). To specify no size limit, use –maxsize 0.
- –sc/lass storage-class
- Uses the shipping parameters associated with storage-class. If you do not specify –sclass, sync_export_list uses the parameters for the default storage class. You can create or modify storage classes in the shipping.conf file on Linux and the UNIX system or in the MultiSite Control Panel on Windows.
- –u/pdate
- For each current replica, queries the sibling replicas for their actual states and updates the current replica's epoch table accordingly, and then generates update packets. The sites must have IP connections.
- –li/mit num-packets
- Limits the number of packets syncreplica generates. If you also specify –maxsize, each packet is no larger than max-packet-size; otherwise, each packet is no larger than the value specified in the shipping.conf file (Linux and the UNIX system) or MultiSite Control Panel (Windows). Use this option when the disk space for your shipping bay or staging area is limited, or when you are creating packets to be placed on magnetic tape (Linux and the UNIX system) or diskettes.
- –t/race
- Lists command-line options you specified, displays commands as they are executed, displays a success or failure message, and forces sync_export_list to keep its log file.
- –p/oll
- Executes shipping_server –poll before exporting any data. If you also specify –sclass, shipping_server –poll processes only the shipping orders for the specified storage class.
- –i/terate num-tries –wa/it num-seconds
- Tries a maximum of num-tries times to complete all exports successfully, and waits num-seconds seconds between tries. By default, sync_export_list does not retry failed exports (–iterate 1). If you specify –iterate without –wait, sync_export_list waits 30 seconds between tries.
- –a/ll
- Generates update packets from all replicas on the current host to all sibling replicas in their respective families.
- –r/eplicas replica-list
- Generates update packets for the replicas you specify in replica-list.
You can specify replica-list in any of the following forms:
replica-name@VOB-tag Generates a packet for a replica replica-name@VOB-tag,replica-name,replica-name,... Generates packets for two or more replicas in a VOB family VOB-tag Generates update packets for all sibling replicas in a VOB family Examples:
rep1@/vobs/dev
(generate an update packet for a single replica)
"rep1@\dev,rep2,rep3"
(generate update packets for multiple replicas in a
VOB family)\tromba
(generate update packets for all replicas in a family)
You can specify only one VOB family with –replicas. To specify multiple VOB families, use multiple replicas: lines in a script-file. You must specify at least one replica, either on the command line, or in a script-file.
- script-file
- Path to file that contains directives for sync_export_list.
You must specify this argument last on the command line. You can include the
following directives:
- compress
- Compresses the packet.
- nocompress
- Does not compress the packet
- fship
- Ships packets immediately.
- ship
- Stores packets in storage bay.
- lockwait: minutes
- Number of minutes to wait for VOB locks.
- workdir: directory
- Writes temporary files to the specified directory.
- maxsize: max-packet-size
- Sets maximum packet size.
- sclass: storage-class
- Sets a different storage class. To unset the storage class, do not specify a storage-class value.
- update noupdate
- Controls whether epoch table is updated before export.
- limit: num-packets
- Sets maximum number of packets to generate per replica.
- replicas: replica-list
- Exports packets from specified replicas. Specify replica-list as described in the –replicas option.
sync_export_list processes all directives in the order listed in script-file. Rules for directives:
- You can include multiple replicas directives in script-file.
- Each replicas directive can have different shipping directives (a shipping directive is any directive except replicas).
- Shipping directives must precede the replicas directive to which they apply.
- A shipping directive remains in effect for all subsequent replicas directives unless you override it.
- sync_export_list exports packets for
replicas specified on the command line, and then exports packets for replicas
specified in the script file.
For example, in the following script file the directives sclass:daily and limit:10 apply to both replicas directives.
compress ship maxsize:2g sclass:daily update limit:10 replicas:
rep1@\myvob nocompress fship maxsize:1g noupdate replicas:rep2@
\myvob,rep3
Examples
In these examples, the lines are broken for readability. You must enter each command on a single physical line.
- Send update packets from all replicas on the host to all their siblings.
/opt/hcl/ccm/versionvault/config/scheduler/tasks/sync_export_list –all
SUCCESSFUL COMPLETION: log file removed. - Create a script file for the VOB families \tests and \dev.
Create a job that runs sync_export_list every night at
1:00 a.m.
Script file:
compress fship sclass:tests noupdate replicas:sanfran_hub@\tests,
sydney sclass:dev update replicas:\devJob definition:
Job.Begin
Job.Id: 25
Job.Name: "Sync Export tests dev"
Job.Description.Begin:
Every midnight, export update packets to replicas in VOB
families \tests and \dev.
Job.Description.End:
Job.Schedule.Daily.Frequency: 1
Job.Schedule. FirstStartTime: 01:00:00
Job.DeleteWhenCompleted: FALSE
Job.Task: 13
Job.Args: -quiet 1 \\shinjuku\scripts\sync_export_tests_dev
Job.End - Generate update packets for replicas in the family /vobs/dev. Store the
packets in the storage bay, limit the packet size to 500 KB, and display messages during processing.
/opt/hcl/ccm/versionvault/config/scheduler/tasks/sync_export_list –ship
–maxsize 500k –trace –replicas /vobs/dev
command options specified or defaulted:
compress: 0
logdir:
storage-class:
workdir:
maxpacket: 500k
limit: 0
all: 0
fship: 0
ship: 1
poll: 0
lockwait: 0 minutes
retries: 1 times, wait 30 seconds
script:
CMD: bin/cleartool lsvob /vobs/dev > /dev/null
vob: /vobs/dev
replicas: bangalore buenosaires
CMD: bin/multitool syncreplica -export -maxsize 500k -ship
replica:bangalore@/vobs/dev >&2
CMD: bin/multitool syncreplica -export -maxsize 500k -ship
replica:buenosaires@/vobs/dev >&2
SUCCESSFUL COMPLETION: see log file at:
"/var/adm/hcl/versionvault/log/sync_logs/send-000815-183301Z-6043_log".
Files
On Linux and the UNIX system
/var/adm/hcl/versionvault/log/sync_logs
/var/adm/hcl/versionvault/config/shipping.conf
versionvault-home-dir/config/scheduler/multisite.schedule
On Windows
versionvault-home-dir\var\log