Corporate Software & Technologies

TOC PREV NEXT INDEX



Utilities


This appendix contains full instructions for all utilities shipped with the CorporateTime Server.
Table G 1 · CorporateTime Server Utilities
Script Function
UNIADDNODE Create a new CorporateTime node or re-initialize an existing one
UNIADMRIGHTS Manage the administration rights of users.
UNIARCH Create a tar archive of the CorporateTime Server. (UNIX only)
UNIB2LENDIAN Convert a CorporateTime node database from a format for big-endian processors to a format for little-endian processors.
UNICHECK Verify the CorporateTime Server file system. (UNIX only)
UNICKSUM Generate a checksum for a file.
UNICLEAN Clean up the CorporateTime Server file system (remove transient files and set permissions). (UNIX only)
UNICLR_IPC Clear IPC resources consumed by the CorporateTime Server. (UNIX only)
UNICPINR Copy resource data from a file created by unicpoutr to a CorporateTime Server node.
UNICPINU Copy the contents of a file of user data created by unicpoutu to a CorporateTime node.
UNICPOUTR Copy resource data from a CorporateTime Server node into a file.
UNICPOUTU Copy user data from a CorporateTime Server node to a file.
UNIDB50TO60CONV Convert a 5.0 CorporateTime node database to a 6.0 CorporateTime node database.
UNIDBBACKUP Create an archive of the CorporateTime Server.
UNIDBFIX Check, repair, defragment and maintain a CorporateTime Server node.
UNIDBRESTORE Restore the contents of a CorporateTime Server from a backup created by unidbbackup.
UNIDSACISETUP Set the access control information in the directory server for the CorporateTime ADMIN group. (CorporateConnect only)
UNIDSDIFF Find and delete differences between a CorporateTime node and a directory server. (CorporateConnect only)
UNIDSSEARCH List all users in a directory server who are not CorporateTime users. (CorporateConnect only)
UNIDSSYNC Synchronize the information in a CorporateTime node with that in a directory server. (CorporateConnect only)
UNIDSUP Report the status of the directory server. (CorporateConnect only)
UNIGRPLS Display both the public and administrative groups in a CorporateTime Server database.
UNIL2BENDIAN Convert a CorporateTime node database from a format for little-endian processors to a format for big-endian processors.
UNILOGONS Display CorporateTime SIGNON/SIGNOFF statistics.
UNIMVUSER Move a CorporateTime user from one CorporateTime node to another.
UNINODE Administer a CorporateTime Server node network.
UNIPASSWD Change a user password on a CorporateTime database.
UNIREQDUMP View, and optionally delete, requests in the queue of the Corporate-Wide Services (CWS) daemon.
UNIRES List, add, or delete CorporateTime resources, or modify the information associated with them.
UNIRMOLD Remove old events and tasks from agendas in a CorporateTime database.
UNIRNSYNCH Propagate deletions in the local information of one node to another node in the network.
UNISIZEOF Compute the size of the CorporateTime Server installation.
UNISLICE Extract information from CorporateTime Server log files. (UNIX only)
UNISNADD Add serial numbers to a CorporateTime node
UNISNAPSHOT Compile CorporateTime Server information for diagnostic purposes.
UNISNCDUMP Retrieve statistics from the CorporateTime Server's unisncd daemon/service.
UNISTART Start up the CorporateTime Server.
UNISTAT Produce a report on a CorporateTime node.
UNISTATS Display summary statistics of the data in a CorporateTime stats file.
UNISTATUS Determine the status of the CorporateTime Server.
UNISTOP Shut down the CorporateTime Server.
UNITZINFO Print information about a CorporateTime Server time zone.
UNIUSER List, add, or delete CorporateTime users; modify the information associated with them.
UNIVERSION Verify the version of the CorporateTime Server. (UNIX only)
UNIWHATOS Determine whether the CorporateTime Server package will run under the current operating system. (UNIX only)
UNIWHO Display information on signed-on CorporateTime users.

UNIADDNODE

uniaddnode - Creates a new CorporateTime node or re-initializes an existing one.

SYNTAX

Internal Directory

uniaddnode -n node-ID [-t timezone] [-a nodealias] [-r] [-y]

Directory Server

uniaddnode -n node-ID -w DmPsw [-p sysOpPsw] [-t timezone] [-a nodealias] [-r] [-y]

uniaddnode -v

uniaddnode -h

DESCRIPTION

This utility creates and initializes a new CorporateTime node for use with either an internal directory or a directory server. It can also be used to re-initialize an existing node.

uniaddnode can only be run if the CorporateTime Server is down.

OPTIONS

-a

nodealias

Specify an alias for the node. nodealias is a descriptive word (it cannot contain spaces).

-n

node-ID

Specify the node-ID.

-p

sysOpPsw

Provide the SYSOP password for the node. This option is only required for directory servers. If the password is not provided on the command line, prompting for it will occur. For internal directories, the SYSOP password can be set after creation of the node using the unipasswd utility.

-r

Re-initialize the node. Note that in the case of a directory server, all users and resources must first be removed from the node before it can be reinitialized.

Warning

All existing node data is lost.

Note that in the case of a directory server, all users and resources must be removed from the node before it can be re-initialized.

-t

timezone

Specify a time zone for the node. The default is the time zone set during installation of the CorporateTime Server. Time zones can be obtained from Appendix E, "Time Zone Table" in the Administrator's Guide, the unitzinfo utility, or the /users/unison/misc/timezone.ini file.

-w

DmPsw

Provide the directory server password for unrestricted access (i.e. the value of the "mgrdn" parameter in the [LDAP] section of the unison.ini file). This option is only required for installations using a directory server. If the password is not specified on the command line, prompting for it will occur.

-y

Used with the -r option to auto-confirm the re-initialization.

-v

Print the current version number of uniaddnode.

-h

Print a usage message explaining how to run uniaddnode.

EXAMPLES

">

Create a node with node-ID "44", an alias of "admin", and the time zone of New York City for a CorporateTime Server using a directory server:

% uniaddnode -n 44 -a admin -t EST5EDT -w DmPsw -p sysOpPsw

unidsndini: working, please wait ...

Creation of reserved users successful.

Creation of Administrators group successful.

uniaddnode: unidsndini done

uniaddnode: unidbi done

The following entry will now appear in the [<YOURNODEID>] section of the /users/unison/misc/unison.ini file.

[44]

name = <internally-assigned value>

version = A.02.50

aliases = admin

timezone = EST5EDT

FILES

/users/unison/misc/unison.ini

This is the CorporateTime Server configuration file. For each new node, a node entry is created in this file by the uniaddnode utility.

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

UNIADMRIGHTS

uniadmrights - A utility to manage the administration rights of users.

SYNTAX

uniadmrights [-ls] [[[-hday] [-pgrp] [-opgrp] ] | -all] [-n node-ID] [-host hostname] [-p sysOpPsw]

uniadmrights -e user [-add | -del] [[-hday] [-pgrp] [-opgrp] | -all] [-n node-ID] [-host hostname] [-p sysOpPsw]

uniadmrights -default [-add | -del] [[-hday] [-pgrp] [-opgrp] | -all] [-n Inode-ID] [-host Ihostname] [-p IsysOpPsw]

uniadmrights -v

uniadmrights -h

DESCRIPTION

This utility allows the SYSOP to grant certain administration rights to users as well as to revoke these rights. It can also be used to determine the rights held by each user. Note that an initial set of rights may be granted at user creation using the user.ini file.

The existing rights are granted on a per-node basis and apply to:

By default, uniadmrights will list ALL rights that have been granted by the SYSOP. Note that the -ls option is mutually exclusive with the -add option, and with the -del option.

The CorporateTime Server must be up to run uniadmrights.

OPTIONS

-add

Grant a right. Used with the -e option.

-all

Add or delete ALL rights held by the user when used with the -e option (and either the -add or -del option). List all users holding rights when used with the -ls option.

-default

Set rights for all users not currently holding rights.

-del

Remove a right. Used with the -e option.

-e

user

Specify the user. If more than one match for the user is found in the database, uniadmrights will fail. If no action (-add/-del/-all) is specified along with this option, the default behaviour is to grant the specified right(s) to the user; if no rights are specified, ALL rights will be granted to the user. See FORMAT OF THE user ARGUMENT for details on the user argument.

-hday

The holiday administration right. This right allows the user to set which holidays will appear in the agendas of all users in the node. Note that no designates are associated with holiday administration; only those users granted the holiday right by the SYSOP may administer holidays.

-host

hostname

Specify the host. Required if the host is remote.

-ls

List all granted rights. This is the default behaviour when no option has been specified.

-n

node-ID

Specify the node. Required if more than one node exists on the host.

-opgrp

The public groups right. Allows the user to create public groups. The user, as owner of the public group, can make modifications to the group as well as delete the group itself. Since there are no designates associated with a public group, only its creator (owner) will be able to make modifications to it, or delete it.

-p

sysOpPsw

Provide the SYSOP password; required if one is set. If this option is not used and a password is required, the user will be prompted for it.

-pgrp

The administrative groups right. Allows the user to create, delete, and/or modify administrative groups. Any user holding this right can delete and/or modify an existing administrative group, regardless of whether or not they are its creator. Since there are no designates associated with an administrative group, only those users holding this right will be able to modify or delete an administrative group.

-v

Print the current version number of uniadmrights.

-h

Print a usage message explaining how to run uniadmrights.

FORMATS

FORMAT OF THE user ARGUMENT

The user argument is a string of the form "key=value/key=value/...", where "key" is one of those listed below, and "value" is any string. Both "key" and "value" are case insensitive. The "value" string may be terminated by a wild card symbol (*). If a forward slash "/" is to be included in a string, it should be escaped with the character "\" to prevent it from being interpreted as a key-value pair delimiter - i.e. "S=Hoopla/OU1=R\\/D".

If, in a UNIX environment, a shell will be processing the string (e.g. the string is provided on the command line or is passed as an argument to the utility), the string should be enclosed in quotation marks. Furthermore, if characters meaningful to the shell are included in the string, they may need to be escaped (i.e. preceded by the escape character "\") to prevent the shell from interpreting them.

Some example specifications are: "S=Kilpi/G=Eeva", "S=B*/G=Nicole/O=Acme", "O=Acme/ID=1111/OU1=authors"
Table G 2 ·
Key X.400 Field
S Surname
G Given name
I Initials
ID Identifier
X Generation
OU1 Organizational Unit 1
OU2 Organizational Unit 2
OU3 Organizational Unit 3
OU4 Organizational Unit 4
O Organization
C Country
A Administration domain
P Private domain
PHONE Phone number
EXT Phone extension
FAX Fax phone number
EMPL-ID Employee number
JOB-TITLE Job title

EXAMPLES


List all users with administration right(s) (where only one node exists so the node-ID need not be specified):

% uniadmrights


List all users with the holiday administration right on node 80:

% uniadmrights -ls -hday -n 80


List all users with the public group administration right on remote host gravel (only one node exists on gravel):

% uniadmrights -pgrp -host gravel


Grant the holiday administration right to Don Martin in R&D, at node 80:

% uniadmrights -e "S=Martin/G=Don/OU1=r&d" -add -hday -n 80


Grant the public group administration right to all users in node 80 who currently hold no rights:

% uniadmrights -default -add -pgrp -n 80

Remove all rights from Joan Bean on remote host montreal (only one node exists on montreal, so node-ID is not specified):

% uniadmrights -e "S=Bean/G=Joan" -del -all -host montreal

WARNINGS

Directory Server Warning

It is important to understand the implications of the directory server configuration for CorporateTime utilities.

In a supplier-consumer configuration, the scheduling of updates between the consumer and supplier may result in temporary differences between the two. This may mean that a CorporateTime utility is reading from a consumer directory server that has not yet been synchronized with its supplier.

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

UNIARCH

uniarch - A utility to create a tar archive of the CorporateTime Server.

SYNTAX

uniarch [-d] [-y] [-t | -f filename]

uniarch -v

uniarch -h

DESCRIPTION

uniarch creates a backup of the CorporateTime Server. By default, the entire /users/unison directory is archived.

uniarch can only be run if the CorporateTime Server is down.

Warning

uniarch backs up the CorporateTime Server internal database. If a directory server is being used, its database should also be backed up.

OPTIONS

-d

Force a backup of the contents of /users/unison/db/nodes, the CorporateTime Server database.

-f

filename

Specify the name of the archive file. If this option is not used, prompting for the filename will occur.

-t

Force the tar default device to be used for the archive destination file.

-y

By default, uniarch asks for confirmation before proceeding with the creation of the archive. This option tells uniarch to automatically proceed, without prompting for confirmation. Default if there is no tty associated with the calling process.

-v

Print the current version number of uniarch.

-h

Print a usage message explaining how to run uniarch.

EXAMPLES


Archive the entire /users/unison directory:

% uniarch

uniarch: working, please wait ...

uniarch: input tar archive destination file name: jan07-99.bkup

uniarch: archive "/users/unison" and redirect to "jan07-99.bkup"? (y/n)

uniarch: archive completed


Archive only the CorporateTime Server database, supplying the name of the destination archive file on the command line:

% uniarch -d -f jan07-99-db.bkup

uniarch: working, please wait ...

uniarch: archive "/users/unison/db/nodes" and redirect to "jan07-99- db.bkup"? (y/n)

uniarch: archive completed

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

UNIB2LENDIAN

unib2lendian - A utility to convert a CorporateTime node database from a format for big-endian processors to a format for little-endian processors.

Contact CS&T Support for more details.

UNICHECK

unicheck - A utility for verifying the CorporateTime Server file system.

SYNTAX

unicheck [-nowarn] [-nodb] [-c]

unicheck -v

unicheck -h

DESCRIPTION

unicheck verifies the CorporateTime Server file system. The utility first checks that the version of the CorporateTime Server is intended to run on the local operating system. If this is not the case, unicheck prompts the user to determine whether or not they wish to continue. If the version will run on the local operating system, unicheck then verifies:

  1. that all necessary files and directories are present
  2. that the permissions, and owner and group information are correctly set on the files and directories.

Any discrepancies are reported. Unless an entire file or directory is missing, any problems found are fixed running uniclean.

unicheck should be run periodically to ensure that the file system is in good order.

unicheck can be run whether the CorporateTime Server is up or down.

OPTIONS

-nowarn

Do not print warning messages (error messages will still be printed).

-nodb

Do not check database files.

-c

Computes a system-independent checksum for each static file. If this option is used, output should be redirected to a file for future use.

-v

Print the current version number of unicheck.

-h

Print a usage message explaining how to run unicheck.

EXAMPLES


Run unicheck (for brevity, sections of the output have been replaced by [...]):

% unicheck

unicheck: checking all directories

unicheck: checking directory "/users/unison"

unicheck: checking directory "/users/unison/tmp"

[...]

unicheck: checking files in directory "/users/unison/bin"

unicheck: checking files in directory "/users/unison/misc"

[...]

unicheck: checking versions of files in directory "/users/unison/ bin"

unicheck: check completed


Run unicheck, suppressing any warning messages and computing a checksum for each file (for brevity, sections of the output have been replaced by [...]):

% unicheck -nowarn -c

unicheck: checking all directories

unicheck: checking directory "/users/unison"

unicheck: checking directory "/users/unison/tmp"

[...]

unicheck: checking files in directory "/users/unison/bin"

unicheck: checking files in directory "/users/unison/misc"

unicheck: checking files in directory "/users/unison/man"

[...]

unicheck: checking versions of files in directory "/users/unison/ bin"

unicheck: computing checksums

unicksum: checksum of the file "/users/unison/misc/timezone.ini" is 17289

unicksum: checksum of the file "/users/unison/bin/addme" is 33775

[...]

unicheck: check completed

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

UNICKSUM

unicksum - Generates a checksum for a file.

SYNTAX

unicksum filename

unicksum -v

unicksum -h

DESCRIPTION

unicksum generates a checksum for a file that is used to determine whether or not differences exist between two instances of the same file.

unicksum will run whether the CorporateTime Server is up or down.

OPTIONS

-v

Print the version number of unicksum.

-h

Print a usage message explaining how to run unicksum.

EXAMPLES

Generate a checksum for the unitzinfo executable:

% unicksum unitzinfo

unicksum: checksum of the file "unitzinfo" is 18187

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

UNICLEAN

uniclean - A utility to clean up the CorporateTime Server file system.

SYNTAX

uniclean

uniclean -v

uniclean -h

DESCRIPTION

uniclean is used to clean up the CorporateTime Server file system by removing some transient files and ensuring file/directory and owner/group permissions are properly set.

uniclean can be run when the CorporateTime Server is up or down.

OPTIONS

-v

Print the current version number of uniclean.

-h

Print a usage message explaining how to run uniclean.

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

SEE ALSO

UNICHECK

UNICLR_IPC

uniclr_ipc - A utility to clear IPC resources consumed by the CorporateTime Server.

SYNTAX

uniclr_ipc [-s] [-q]

uniclr_ipc -v

uniclr_ipc -h

DESCRIPTION

uniclr_ipc clears IPC (Inter-Process Communication) resources consumed by the CorporateTime Server. By default, all IPC resources are freed. The -s and -q options are available to selectively clear only semaphore or message-queue resources respectively.

uniclr_ipc can only be run if the CorporateTime Server is down.

OPTIONS

-s

Clear semaphore-related resources only.

-q

Clear message-queue related resources only.

-v

Print the version number of uniclr_ipc.

-h

Print a usage message explaining how to run uniclr_ipc.

EXAMPLES

In all of the following examples, the CorporateTime Server is down.


Clear all IPC resources:

% uniclr_ipc

uniclr_ipc: working, please wait...

uniclr_ipc: ipc resources cleared


Clear only the semaphore resources:

% uniclr_ipc -s

uniclr_ipc: working, please wait...

uniclr_ipc: ipc semaphore-related resources cleared


Clear only the message-queue resources:

% uniclr_ipc -q

uniclr_ipc: working, please wait...

uniclr_ipc: ipc message-queue related resources cleared

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

UNICPINR

unicpinr - copy resource data from a file created by unicpoutr to a CorporateTime Server node.

SYNTAX

unicpinr [-add ] [-f filename] [-start day month year] [-end day month year] [-host hostname] node-ID [-p sysOpPsw]

unicpinr -ls [filename(s)]

unicpinr -v

unicpinr -h

DESCRIPTION

Copies a file containing resource data (created with the unicpoutr utility) into a CorporateTime Server node. The utility can be used in conjunction with unicpoutr to move a resource from one node to another, or to add the agenda of one resource to that of another (see EXAMPLES).

By default, the resource specified in the file must already exist in the destination CorporateTime node. If this is not the case, the -add option is used to add it.

unicpinr can only be run if the CorporateTime Server is up.

It is important to understand how unicpinr handles the information in the file during the copy into the destination node.

  1. Resource identifier
    These are the key-value pairs for the keys R, N, CA, S, G, ID, LOC, PHONE, EXT, FAX (see FORMAT OF THE RESOURCE NAME ARGUMENT below for details on these keys). Only key-value pairs with non-null values are output to the file by unicpoutr so not all pairs may be present. The ID key-value pair is not output to the file.
    unicpinr uses these keys to uniquely identify an existing resource in the destination node.
  2. Password and agenda-specific preferences
    Where the resource already exists in the destination node, these values will already be set and unicpinr will NOT overwrite them with those in the input file.
  3. Agenda information
    Where a resource already exists in the destination node, unicpinr will simply add the agenda information in the input file to the existing agenda.
    All events listed in the file will be copied into the destination node with the resource as the owner. Where appropriate, the description of each event will contain extra data indicating the invitees to the event, their status, and the original creator and owner. Recurring or repeating instances of an event are disconnected from each other and copied in as individual events.
    The -start and -end options can be used to import only those events that fall within the specified time.

OPTIONS

-add

Add the resource to the database before copying in the file. It is an error to specify this option if the resource already exists in the node. In the case of a directory server, the resource is created under the baseDN.

-end

\day\month\year

Set the end dates of the events to be processed. By default, all events in the file will be created; this option and the -start option allow you to exclude certain events. Dates must be expressed in the form "day month year". Years must be specified using four digits. Some legal dates are "12 mar 1995", "15 october 1994", "25 12 1995" (for December 25, 1995). Variations such as "mar 12 1995" or "12 dec" are illegal and will produce an error message.

-f

filename

Specify the input file name. The file must have been created with the unicpoutr utility. By default, standard input is used.

-host

hostname

Specify the host on which the specified node can be found. The default is the local host.

-ls

List the file name followed by the name of the resource it contains for each specified file name. Files not created with the unicpoutr command are not listed. If no file names are specified, the files of the current directory (.) are examined.

-p

sysOpPsw

Provide the SYSOP password. If this option is not used, prompting for the password will occur.

-start

\day\ month\ year

Set the start date of the events to be processed. By default, all events in the file will be created; this option and the -end option allow you to exclude certain events. Dates must be expressed in the form "day month year". Years must be specified using four digits. Some legal dates are "12 mar 1995", "15 october 1994", "25 12 1995" (for December 25, 1995). Variations such as "mar 12 1995" or "12 dec" are illegal and will produce an error message.

-v

Print the current version number of unicpinr.

-h

Print a usage message explaining how to run unicpinr.

FORMATS

FORMAT OF THE RESOURCE NAME ARGUMENT

The resource name is a string of the form "key=value/key=value/...", where "key" is one of R, N, CA, S, G, PHONE, EXT or FAX listed below (the ID key may NOT be specified), and "value" is any string. Both "key" and "value" are case insensitive. The "value" string may be terminated by a wild card symbol (*). If a forward slash "/" is to be included in a string, it should be escaped with the character "\" to prevent it from being interpreted as a key-value pair delimiter - i.e. "R=betacam\/loaner/S=Khupfer".
Table G 3 ·
Key Field
R Resource name
N Resource number
CA Capacity
S Contact's surname
G Contact's given name
ID Identifier
LOC Location
PHONE Phone number
EXT Phone extension
FAX Fax phone number

EXAMPLES


MOVE A RESOURCE FROM ONE NODE TO ANOTHER

unicpinr is used in conjunction with unicpoutr and unires to move a resource from one node to another. In the following example, the resource "betacam" will be moved from node 30 to 35.

  1. Verify that the resource to be moved exists in node 30:
    % unires -ls "R=Betacam" 30

    R=Betacam/CA=1/ID=1234

  2. Copy out the resource data to a file:
    % unicpoutr "R=Betacam" -f betacam.dat 30

  3. Delete the resource from the node. This is normal practice as you do not usually want the same resource to exist in two different nodes.
    % unires -del "R=Betacam" 30

  4. Add the resource to the destination node:
    % unicpinr -f betacam.dat 35


ADD THE AGENDA OF ONE RESOURCE TO THAT OF ANOTHER RESOURCE

unicpinr can be used in conjunction with unicpoutr to add the agenda of one resource to that of another resource. This example will add the agenda for "PineNook" to the agenda for "OakCranny" and at the same time change the capacity of "OakCranny" to 5.

1. Copy out the resource data for PineNook (from node 30) to a file:

% unicpoutr "R=PineNook" -f pinenook.dat 30

2. Edit the file and modify the resource identifier to match that for OakCranny

% vi pinenook.dat

3. Copy in the file to OakCranny in node 30. Since this resource exists, the password, and agenda-specific preferences are not overwritten.

% unicpinr -f pinenook.dat 30

The agenda information for PineNook has been added to the existing agenda information for OakCranny.

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

WARNINGS


Depending on the size of the agenda in the file, unicpinr may take some time to complete.


Limitations of this utility

The unicp family of utilities have the following limitations that must be considered.

Events

From the perspective of a moved user (or resource), each of the moved events in the new agenda is a personal event with enough data in the description to determine who created the event and who the attendees are. All links are broken but there is sufficient information in the description to allow the links to be rebuilt.

Note also that where the agenda of one user (or resource) is being added to that of another, double-booking may occur.

Deletion of a user (or resource)

When a user (or resource) is moved to a new node, that user (or resource) should be deleted from the old node (using uniuser -del (or unires -del)).

When a resource is deleted, all traces of that resource are removed. Thus, that resource is no longer an invitee to events.

When a user is deleted, all traces of that user are removed. Thus, that user is no longer an invitee to events created by other users. Furthermore, and most importantly, all events created by the user are deleted. As a consequence, any user in the old node who was invited to an event by the moved user, will no longer be able to view the event.

Moving several users (and/or resources) at a time

If several users (and/or resources) are to be moved, it is best to perform the move in three phases:

  1. Copy the information on each user (and/or resource) from the source node to a file (using unicpoutu and/or unicpoutr).
  2. Delete each user (and/or resource) from the source node.
  3. Copy the information on each user (and/or resource) into the destination node using (unicpinu and/or unicpinr).

This ensures that information on any links among the users (and/or resources) being moved is not lost (see "Deletion of a resource" above).


Directory Server Warning

It is important to understand the implications of the directory server configuration for CorporateTime utilities. In a supplier-consumer configuration, the scheduling of updates between the consumer and supplier may result in temporary differences between the two. This may mean that a CorporateTime utility is reading from a consumer directory server that has not yet been synchronized with its supplier.

SEE ALSO

UNICPOUTR

UNICPINU

unicpinu - copy the contents of a file of user data created by unicpoutu to a CorporateTime node.

SYNTAX

unicpinu [-add ] [-f filename] [-start day month year] [-end day month year] [-host hostname] node-ID [-p sysOpPsw]

unicpinu -ls [filename(s)]

unicpinu -v

unicpinu -h

DESCRIPTION

unicpinu copies a file containing user data (created by unicpoutu) into a CorporateTime node. The utility can be used in conjunction with unicpoutu to move a user from one node to another as well as to add the agenda of one user to that of another user (see EXAMPLES).

By default, the user specified in the file must already exist in the destination CorporateTime node. If this is not the case, they can be added using the -add option.

unicpinu can only be run if the CorporateTime Server is up.

It is important to understand how unicpinu handles the information in the input file during the copy into the destination node:

  1. X.400 name and address
    These are the key-value pairs for the keys S, G, I, and X, and the keys OU1, OU2, OU3, OU4, O, C, A and P respectively (see FORMAT OF THE name, AND address ARGUMENTS below for details on these keys). Only key-value pairs with non-null values are output to the file by unicpoutu so not all pairs may be present.
    unicpinu uses the key-value pairs in the file to uniquely identify an existing user in the destination node.
  2. Personal information, password, and agenda-specific preferences
    Personal information includes employee number, phone number, extension, fax number, job title and office mailing address.
    Where the user already exists in the destination node, these values will already be set and unicpinu will NOT overwrite them with those in the input file.
  3. Agenda information
    Where a user already exists in the destination node, unicpinu will simply add the agenda information in the input file to the existing agenda.
    All events listed in the file will be copied into the destination node with the user as the owner. Where appropriate, the description of each event will contain extra data indicating the invitees to the event, their status, and the original creator and owner. Recurring or repeating instances of an event are disconnected from each other and copied in as individual events.
    The -start and -end options can be used to import events and completed tasks that fall within a specified range. Incomplete tasks are always imported.
Warning
Holidays are output by unicpoutu as meetings, and therefore input by unicpinu as meetings. Only the existing holidays in the destination node will appear as holidays in the user's agenda.

OPTIONS

-add

Add the user to the database and then copy in the user's agenda. It is an error to specify this option if the user already exists. Note that for directory servers, the user must already exist in the directory server (all of the X.400 key-value pairs specified in the input file must match), and must not already be a CorporateTime user.

-end

\ day\ month\ year

Set the end date for the events and tasks to be processed. By default, all events and tasks in the file will be created; this option and the -start option allow you to exclude certain events and tasks. Dates must be expressed in the form "day month year". Years must be expressed using four digits. Some legal dates are "12 mar 1995", "15 october 1994", "25 12 1995" (for December 25, 1995). Variations such as "mar 12 1995" or "12 dec" are illegal and will produce an error message.

-f

filename

Specify the input file name. The file must be created with the unicpoutu utility. If this option is not specified, standard input is used.

-host

hostname

Specify the host on which the specified node is found. The default is the local host.

-ls

[filename(s)]

Print the filename followed by the X.400 name and address of the user contained in the file, for each specified file name. Files not created by the unicpoutu command are not listed. If no file names are specified, the files in the current directory (.) are examined.

-p

sysOpPsw

Provide the SYSOP password. If this option is not used, prompting for the password will occur.

-start

\ day\ month\ year

Set the start date for the events and tasks to be processed. By default, all events and tasks in the file will be created; this option and the -end option allow you to exclude certain events and tasks. Dates must be expressed in the form "day month year". Years must be expressed using four digits. Some legal dates are "12 mar 1995", "15 october 1994", "25 12 1995" (for December 25, 1995). Variations such as "mar 12 1995" or "12 dec" are illegal and will produce an error message.

-v

Print the current version number of unicpinu.

-h

Print a usage message explaining how to run unicpinu.

FORMATS

FORMAT OF THE name, AND address ARGUMENTS

Each of these arguments is a string of the form "key=value/key=value/...", where "key" is one of those listed below, and "value" is any string. Both "key" and "value" are case insensitive. The "value" string may be terminated by a wild card symbol (*). If a forward slash "/" is to be included in a string, it should be escaped with the character "\" to prevent it from being interpreted as a key-value pair delimiter - i.e. "S=Hoopla/OU1=R\/D".
Table G 4 ·
Key X.400 Field
S Surname
G Given name
I Initials
ID Identifier
X Generation
OU1 Organizational Unit 1
OU2 Organizational Unit 2
OU3 Organizational Unit 3
OU4 Organizational Unit 4
O Organization
C Country
A Administration domain
P Private domain

EXAMPLES


MOVE A USER FROM ONE NODE TO ANOTHER

unicpinu is used in conjunction with unicpoutu and uniuser to move a user from one node to another. In this example the user "Sarah Herman" will be moved from node 20 to 44, and one of her organizational units changed from "Sales" to "R&D".

  1. Verify that the user to be moved exists in node 20:
    % uniuser -ls "S=Herman/G=S*" 20

    . S=Herman/G=Sarah/OU1=Dallas/OU2=Sales/ID=1234

  2. Copy the user's agenda and user information to a file:
    % unicpoutu "G=Sara*/S=Herman" -f sherman.dat 20

  3. Delete the user from node 20. This is normal practice as the same user should not exist in two different nodes. In the case of a directory server, this step is required if the subsequent unicpinu -add command is to succeed.
    % uniuser -del "G=Sara*/S=Herman" -n 20

  4. Add the user to the destination node:
    % unicpinu -add -f sherman.dat 44

    .

    S=Herman/G=Sarah/OU1=Dallas/OU2=Sales/ID=1234


ADD THE AGENDA OF ONE USER TO THAT OF ANOTHER USER

unicpinu can be used in conjunction with unicpoutu to add one user's agenda to that of another user. This example will add Sarah Herman's agenda to Yannick Olafsen's agenda.

  1. Copy Sarah Herman's user data (from node 20) to a file:
    % unicpoutu "G=Sara*/S=Herman" -f sherman.dat 20

  2. Edit the sherman.dat file to modify the X.400 name and address to match that contained in the database for Yannick Olafsen.
    % vi sherman.dat

  3. Copy the file to node 24. Since Yannick Olafsen already exists as a user in node 24, his personal information, password, and agenda preferences will not be overwritten.
    % unicpinu -f sherman.dat 24

    The agenda information for Sarah Herman will be added to the existing agenda information for Yannick Olafsen.

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

WARNINGS


Depending on the size of the agenda in the file, unicpinu may take some time to complete.


Limitations of this utility

The unicp family of utilities have the following limitations that must be considered.

Events

From the perspective of a moved user (or resource), each of the moved events in the new agenda is a personal event with enough data in the description to determine who created the event and who the attendees are. All links are broken but there is sufficient information in the description to allow the links to be rebuilt.

Note also that where the agenda of one user (or resource) is being added to that of another, double-booking may occur.

Deletion of a user (or resource)

When a user (or resource) is moved to a new node, that user (or resource) should be deleted from the old node (using uniuser -del (or unires -del)).

When a resource is deleted, all traces of that resource are removed. Thus, that resource is no longer an invitee to events.

When a user is deleted, all traces of that user are removed. Thus, that user is no longer an invitee to events created by other users. Furthermore, and most importantly, all events created by the user are deleted. As a consequence, any user in the old node who was invited to an event by the moved user, will no longer be able to view the event.

Moving several users (and/or resources) at a time

If several users (and/or resources) are to be moved, it is best to perform the move in three phases:

  1. Copy the information on each user (and/or resource) from the source node to a file (using unicpoutu and/or unicpoutr).
  2. Delete each user (and/or resource) from the source node.
  3. Copy the information on each user (and/or resource) into the destination node using (unicpinu and/or unicpinr).

This ensures that information on any links among the users (and/or resources) being moved is not lost (see "Deletion of a resource" above).

Warning
Directory Server Warning

It is important to understand the implications of the directory server configuration for CorporateTime utilities. In a supplier-consumer configuration, the scheduling of updates between the consumer and supplier may result in temporary differences between the two. This may mean that a CorporateTime utility is reading from a consumer directory server that has not yet been synchronized with its supplier.

SEE ALSO

UNICPOUTU

UNICPOUTR

unicpoutr - copy resource data from a CorporateTime Server node into a file.

SYNTAX

unicpoutr res [-f filename] [-host hostname] [-start day month year] [-end day month year] [-holiday] node-ID [-p sysOpPsw ]

unicpoutr -v

unicpoutr -h

DESCRIPTION

unicpoutr copies a resource's data from a CorporateTime node to a file. It can be used in conjunction with the unicpinr utility to move a resource from one node to another as well as to copy the resource agenda from one resource to another.

unicpoutr can only be run if the CorporateTime Server is up.

The res argument must match a single resource or an error will be reported. See FORMAT OF THE res ARGUMENT below for details on how to specify this argument.

unicpoutr copies the following information to the file (see unicpr for more information concerning the format and content of the output file):


The following information is NOT copied to the file:


OPTIONS

-end

\ day\ month\ year

Set the end date of the events to be processed. By default, all events are output; this option and the -start option allow you to exclude certain events. Dates must be expressed in the form "day month year". Years must be specified using four digits. Some legal dates are "12 mar 1995", "15 october 1994", "25 12 1995" (for December 25, 1995). Variations such as "mar 12 1995" or "12 dec" are illegal and will produce an error message.

-f

filename

Specify the output file name. The file must not exist. By default, the standard output is used.

-holiday

Include the holiday events from the resource's agenda in the output file.

-host

hostname

Specify the host on which the database for the specified node is found. The default is the local host.

-p

sysOpPsw

Provide the SYSOP password. If this option is not used, prompting for the password will occur.

-start

\ day\ month\ year

Set the start date of the events to be processed. By default, all events are output; this option and the -end option allow you to exclude certain events. Dates must be expressed in the form "day month year". Years must be specified using four digits. Some legal dates are "12 mar 1995", "15 october 1994", "25 12 1995" (for December 25, 1995). Variations such as "mar 12 1995" or "12 dec" are illegal and will produce an error message.

-v

Print the current version number of unicpoutr.

-h

Print a message explaining how to run unicpoutr.

FORMATS

FORMAT OF THE res ARGUMENT

The res argument is a string of the form "key=value/key=value/...", where "key" is one of those listed below, and "value" is any string. Both "key" and "value" are case insensitive. The "value" string may be terminated by a wild card symbol (*). If a forward slash "/" is to be included in a string, it should be escaped with the character "\" to prevent it from being interpreted as a key-value pair delimiter - i.e. "R=betacam\/loaner/S=Khupfer".

If, in a UNIX environment, a shell will be processing the string (e.g. the string is provided on the command line or is passed as an argument to the utility), the string should be enclosed in quotation marks. Furthermore, if characters meaningful to the shell are included in the string, they should be escaped (i.e. preceded by the escape character "\") to prevent the shell from interpreting them.
Table G 5 ·
Key Field
R Resource name
N Resource number
CA Capacity
S Contact's surname
G Contact's given name
ID Identifier
LOC Location
PHONE Phone number
EXT Phone extension
FAX Fax phone number

EXAMPLES


To copy the resource data for the resource "Kitchen" from node 20 to the file kitchen.dat:

% unicpoutr "R=Kitchen" -f kitchen.dat 20


To perform the same task, ignoring events before January 10, 1998:

% unicpoutr "R=Kitchen" -f kitchen.dat -start 10 1 1998 20

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

WARNINGS


Depending on the size of the agenda, unicpoutr may take some time to complete.


Limitations of this utility

The unicp family of utilities have the following limitations that must be considered.

Directory Server Warning

It is important to understand the implications of the directory server configuration for CorporateTime utilities. In a supplier-consumer configuration, the scheduling of updates between the consumer and supplier may result in temporary differences between the two. This may mean that a CorporateTime utility is reading from a consumer directory server that has not yet been synchronized with its supplier.

SEE ALSO

UNICPINR

UNICPOUTU

unicpoutu - copy user data from a CorporateTime Server node to a file.

SYNTAX

unicpoutu user [-f filename] [-host hostname] [-start day month year] [-end day month year] [-holiday] node-ID [-p sysOpPsw ]

unicpoutu -v

unicpoutu -h

DESCRIPTION

unicpoutu copies a user's data from a CorporateTime node to a file. It can be used in conjunction with the unicpinu utility to move a user from one node to another as well as to copy an agenda from one user to another.

unicpoutu can only be run if the CorporateTime Server is up.

The user argument must match a single user or an error will be reported. See FORMAT OF THE user ARGUMENT below for details on how to specify this argument.

unicpoutu copies the following information to the file (see unicpu for more information concerning the format and content of the output file):


Also included are all incomplete tasks and, by default, all completed tasks. The -start and -end options may be used to export completed tasks falling within a specified time period.

The following information is NOT copied to the file:



OPTIONS

-end

\ day\ month\ year

Set the end date of the events and tasks to be processed. By default, all events and tasks are output; this option and the -start option allow you to exclude certain events and tasks. Dates must be expressed in "day month year" form. Years must be specified using four digits. Some legal dates are "12 mar 1995", "15 october 1994", "25 12 1995" (for December 25, 1995). Variations such as "mar 12 1995" or "12 dec" are illegal and will produce an error message.

-f

filename

Specify the output file name. The file must not exist. By default, standard output is used.

-holiday

Include the holidays from the user's agenda in the output file. Holidays are output as meetings, with all users in the node included as attendees to the meeting. If the user's agenda is subsequently input into a new node using unicpinu, only the existing holidays in the new node will appear as holidays in the user's agenda; the holidays from the old node will be meetings.

-host

hostname

Specify the host on which the specified node can be found. The default is the local host.

-p

sysOpPsw

Provide the SYSOP password. If this option is not used, prompting for the password will occur.

-start

\ day\ month\ year

Set the start date of the events and tasks to be processed. By default, all events and tasks are output; this option and the -end option allow you to exclude certain events and tasks. Dates must be expressed in "day month year" form. Years must be specified using four digits. Some legal dates are "12 mar 1995", "15 october 1994", "25 12 1995" (for December 25, 1995). Variations such as "mar 12 1995" or "12 dec" are illegal and will produce an error message.

-v

Print the current version number of unicpoutu.

-h

Print a usage message explaining how to run unicpoutu.

FORMATS

FORMAT OF THE user ARGUMENT

The user argument is a string of the form "key=value/key=value/...", where "key" is one of those listed below, and "value" is any string. Both "key" and "value" are case insensitive. The "value" string may be terminated by a wild card symbol (*). If a forward slash "/" is to be included in a string, it should be escaped with the character "\" to prevent it from being interpreted as a key-value pair delimiter - i.e. "S=Hoopla/OU1=R\/D".

If, in a UNIX environment, a shell will be processing the string (e.g. the string is provided on the command line or is passed as an argument to the utility), the string should be enclosed in quotation marks. Furthermore, if characters meaningful to the shell are included in the string, they should be escaped (i.e. preceded by the escape character "\") to prevent the shell from interpreting them.
Table G 6 ·
Key X.400 Field
S Surname
G Given name
I Initials
ID Identifier
X Generation
OU1 Organizational Unit 1
OU2 Organizational Unit 2
OU3 Organizational Unit 3
OU4 Organizational Unit 4
O Organization
C Country
A Administration domain
P Private domain

EXAMPLES

To copy the user data for "Herman, Sarah" from node 20 to the file "sherman.dat":

% unicpoutu "S=Herman/G=Sa*" -f sherman.dat 20


To perform the same task, ignoring tasks and events before January 10, 1998:

unicpoutu "S=Herman/G=Sa*" -f sherman.dat -start 10 1 1998 20

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

WARNINGS


Depending on the size of the agenda, unicpoutu may take some time to complete.


Limitations of this utility

The unicp family of utilities have the following limitations that must be considered.

Events

From the perspective of a moved user (or resource), each of the moved events in the new agenda is a personal event with enough data in the description to determine who created the event and who the attendees are. All links are broken but there is sufficient information in the description to allow the links to be rebuilt.

Note also that where the agenda of one user (or resource) is being added to that of another, double-booking may occur.

Deletion of a user (or resource)

When a user (or resource) is moved to a new node, that user (or resource) should be deleted from the old node (using uniuser -del (or unires -del)).

When a resource is deleted, all traces of that resource are removed. Thus, that resource is no longer an invitee to events.

When a user is deleted, all traces of that user are removed. Thus, that user is no longer an invitee to events created by other users. Furthermore, and most importantly, all events created by the user are deleted. As a consequence, any user in the old node who was invited to an event by the moved user will no longer be able to view the event.

Moving several users (and/or resources) at a time

If several users (and/or resources) are to be moved, it is best to perform the move in three phases:

  1. Copy the information on each user (and/or resource) from the source node to a file (using unicpoutu and/or unicpoutr).
  2. Delete each user (and/or resource) from the source node.
  3. Copy the information on each user (and/or resource) into the destination node using (unicpinu and/or unicpinr).

This ensures that information on any links among the users (and/or resources) being moved is not lost (see "Deletion of a resource" above).


Directory Server Warning

It is important to understand the implications of the directory server configuration for CorporateTime utilities. In a supplier-consumer configuration, the scheduling of updates between the consumer and supplier may result in temporary differences between the two. This may mean that a CorporateTime utility is reading from a consumer directory server that has not yet been synchronized with its supplier.

SEE ALSO

UNICPINU

UNIDB50TO60CONV

unidb50to60conv - Convert a 5.0 CorporateTime node database to a 6.0 CorporateTime node database.

SYNTAX

unidb50to60conv -n node-ID | -n all

unidb50to60conv -v

unidb50to60conv -h

DESCRIPTION

unidb50to60conv converts a 5.0 CorporateTime node database to a 6.0 CorporateTime node database. In general this utility should not be invoked directly (a conversion is done automatically during the upgrade to a newer CorporateTime Server). The last two digits of the "version" key in the [<YOURNODEID>] section of the unison.ini file indicate whether the CorporateTime database is 5.0 or 6.0.

Warning

Back up the CorporateTime Server before invoking unidb50to60conv as this utility overwrites the 5.0 database

The CorporateTime Server must be down to run unidb50to60conv.

OPTIONS

-n

node-ID | all

Perform the conversion only on the specified node (if node-ID is used) or on all nodes (if all is used).

-v

Print the version number of unidb50to60conv.

-h

Print a usage message explaining how to run unidb50to60conv.

EXAMPLES

Convert all CorporateTime Server node databases from 5.0 to 6.0:

% unidb50to60conv -n all

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

UNIDBBACKUP

unidbbackup - A utility to create an archive of a CorporateTime Server node and related configuration information.

SYNTAX

unidbbackup -d dst

unidbbackup -v

unidbbackup -h

DESCRIPTION

unidbbackup creates a backup of a CorporateTime Server node and its related configuration information. More specifically, it creates a backup of the /users/unison/misc directory and the /users/unison/db directory. As the information in these two directories is interrelated, it is important to ensure they are backed up at the same time.

unidbrestore is the complementary utility to unidbbackup. By default, these utilities perform a copy of the source to the destination. If behaviour other than a straight copy is needed, an alternate backup/restore command can be specified using the "external_backup"/"external_restore" key in the [UTL] section of the unison.ini file. See FILES below for details on how to specify an alternate backup command.

Warning

The backup and restore commands are inverse operations so if alternate commands are used, it is of critical importance to ensure they do in fact perform the inverse operation of each other. The integrity of the database is at stake.

unidbbackup can be run when the CorporateTime Server is either up or down.

Warning

unidbbackup backs up the CorporateTime Server internal database. If a directory server is being used, its database should also be backed up.

OPTIONS

-d

dst

Specify the destination for the archive, where dst is a directory name.

-v

Print the current version number of unidbbackup.

-h

Print a usage message explaining how to run unidbbackup.

EXAMPLES


Back up the CorporateTime Server to the directory /backups/cserver/jan.7.99:

% unidbbackup -d /backups/cserver/jan.7.99

EXIT STATUS

Exit values are:

0 Success

Any value other than 0 Failure

FILES

/users/unison/misc/unison.ini

The following keys in the [UTL] section of this file are of relevance to this utility:

lock_timeout

This key sets the timeout, in seconds, for the lock operation on the database.

backup_timeout

This key sets the timeout, in seconds, for the backup operation on the database.

external_backup

This key provides a way for an alternate backup utility to be invoked by unidbbackup. unidbbackup uses the value of this key, along with the arguments supplied to unidbbackup on the command line, to construct (and subsequently invoke) the following command line:

value_of_external_backup [-f] -s src -d dst

where

-d dst

specifies the destination for the backup (unidbbackup constructs this from the dst argument specified by the user on the unidbbackup command line)

-s src

specifies the source to be backed up (unidbbackup constructs this argument based on the information it finds in the /users/unison/misc/unison.ini file)

-f

indicates that the source is a file (absence of this flag indicates the source is a directory)

unidbbackup iteratively invokes the generated command line until all of the required database files are backed up, locking and unlocking the database for each iteration.

The administrator must ensure that the generated command line is in fact a valid one for the alternate utility. It may be that an intermediate utility is required to take this command line, create one which is valid, and then invoke it. In this case, "external_backup" would be set to invoke the intermediate utility.

The accepted value for "external_backup" is any command line. There is no assigned default value for this key.

SEE ALSO

UNIDBRESTORE

UNIDBFIX

unidbfix - A utility to check, repair, defragment and maintain a CorporateTime Server node.

For the latest version of this utility, please contact CS&T's technical support department at support@cst.ca or call (514)733-8500.

UNIDBRESTORE

unidbrestore - A utility to restore a CorporateTime Server node and configuration information from a backup created by unidbbackup.

SYNTAX

unidbrestore -s src [-d dst]

unidbrestore -v

unidbrestore -h

DESCRIPTION

unidbrestore - restores the node and configuration information of a CorporateTime Server from a backup created by unidbbackup.

Warning

By default, the destination directory for the restore is /users/unison. This means that the restore will overwrite the existing files of the CorporateTime database. Thus, this utility should be used with extreme care to ensure the CorporateTime Server database is not inadvertently corrupted. A more careful approach would be to use the -d option to specify a different directory for the restore and then copy the individual files from the restored directory into the /users/unison directory.

unidbbackup is the complementary utility to unidbrestore. By default, these utilities perform a copy of the source to the destination. If behaviour other than a straight copy is needed, an alternate backup/restore command can be specified using the "external_backup"/"external_restore" key in the [UTL] section of the unison.ini file. See FILES below for details on how to specify an alternate restore command.

Warning

The backup and restore commands are inverse operations so if alternate commands are used, it is of critical importance to ensure they do in fact perform the inverse operation of each other. The integrity of the database is at stake.

unidbrestore can only be run when the CorporateTime Server is down.

Warning

unidbrestore restores the CorporateTime Server internal database. If a directory server is being used, its database is untouched by unidbrestore.

OPTIONS

-d

dst

Specify the destination for the restore. By default this is the /users/unison directory.

-s

src

Specify the backup source, where src is a directory name.

-v

Print the current version number of unidbrestore.

-h

Print a usage message explaining how to run unidbrestore.

EXAMPLES


Restore the CorporateTime Server backup /backups/cserver/jan.7.99 to the directory /users/unison:

% unidbrestore -s /backups/cserver/jan.7.99

EXIT STATUS

Exit values are:

0 Success

Any value other than 0 Failure

FILES

/users/unison/misc/unison.ini

The following keys in the [UTL] section are of relevance to this utility:

lock_timeout

This key sets the timeout, in seconds, for the lock operation on the database.

restore_timeout

This key sets the timeout, in seconds, for the restore operation on the database.

external_restore

This key provides a way for an alternate restore utility to be invoked by unidbrestore. unidbrestore uses the value of this key, along with the arguments supplied to unidbrestore on the command line, to construct (and subsequently invoke) the following command line:

value_of_external_restore [-f] -s src -d dst

where

-d dst

specifies the destination for the restore (unidbrestore constructs this from the dst argument supplied on the unidbrestore command or if no argument was supplied, uses the default)

-s src

specifies the source to be restored (unidbrestore constructs this from the src argument supplied on the unidbrestore command line)

-f

indicates that the source is a file (absence of this flag indicates the source is a directory)

unidbrestore iteratively invokes the generated command line until all of the required database files are restored, locking and unlocking the database for each iteration.

It is up to the user to ensure that the generated command line is in fact a valid one for the alternate utility. It may be that an intermediate utility is required to take this command line, create one which is valid, and then invoke it. In this case, "external_restore" would be set to invoke the intermediate utility.

The accepted value for "external_restore" is any command line. There is no assigned default value for this key.

SEE ALSO

UNIDBBACKUP

UNIDSACISETUP

unidsacisetup - Set the access control information in the directory server for the CorporateTime ADMIN group.

SYNTAX

unidsacisetup [-w mgrDnPwd]

unidsacisetup -info

unidsacisetup -v

unidsacisetup -h

DESCRIPTION

unidsacisetup sets the directory server access control information (ACI) for the CorporateTime ADMIN group. Although directory server utilities may be used to set ACIs, it is advisable to use unidsacisetup to ensure the ACI for the ADMIN group is properly set. Most CorporateTime utilities require the ACI for the ADMIN group to be set before they will run.

This utility should be run every time a new CorporateTime ADMIN group is created, i.e. every time the "admingroup" key in the [LDAP] section of the unison.ini file is changed.

unidsacisetup will run whether or not the CorporateTime Server is up. The directory server, however, must be running.

OPTIONS

-info

Display the list of directory servers for which this utility can create access control information.

-w

mgrDnPwd

Provide the directory server manager password (this is the password associated with the "mgrdn" key in the [LDAP] section of the unison.ini file). If this option is not used, unidsacisetup prompts the user for the password.

-v

Print the version number of unidsacisetup.

-h

Print a usage message explaining how to run unidsacisetup.

EXAMPLES

Display the list of directory servers for which unidsacisetup can set ACI:

% unidsacisetup -info

Set the ACI for the CorporateTime ADMIN group:

% unidsacisetup

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

UNIDSDIFF

unidsdiff - Finds and deletes differences between a CorporateTime node and a directory server.

SYNTAX

unidsdiff [-d] [-noprompt] [-n node-ID] [-host hostname] [-p sysOpPsw] [-verbose]

unidsdiff -v

unidsdiff -h

DESCRIPTION

This utility will find all users and resources in a CorporateTime node without a match in the directory server and vice versa. By default, any discrepancies are simply reported. The -d option may be used to delete the discrepancies.

CorporateTime assigns each user and resource a unique identifier called an xItemId. unidsdiff first checks that each xItemId (for the specified node) in the directory server:

  1. is unique
  2. has a single user or resource associated with it
  3. is expressed in a valid format

If unidsdiff detects an xItemId which does not pass one of these checks, it will abort; directory server utilities must be used to correct the problem. Otherwise unidsdiff proceeds to verify that:

  1. all users and resources in the CorporateTime node appear in the directory server (if the -d option was used, any users or resources appearing only in the CorporateTime node will be removed)
  2. all CorporateTime users and resources in the directory server appear in the CorporateTime node (if the -d option was used, any CorporateTime users or resources appearing only in the directory server will be removed from the directory server, i.e. they will no longer appear as CorporateTime users in the directory server).

The CorporateTime Server must be up to run unidsdiff.

OPTIONS

-d

Delete the differences found. The user will be prompted to confirm each deletion. Without the -d option, unidsdiff simply lists the differences.

-host

hostname

Specify the host to connect to. Required if host is remote.

-n

node-ID

Specify a node. Required if more than one exists.

-noprompt

Disable prompting when used with the -d option.

-p

sysOpPsw

Provide the SYSOP password.

-verbose

Display all Distinguished Names in the directory associated with the node.

-v

Print the current version number of unidsdiff.

-h

Print a usage message explaining how to run unidsdiff.

EXAMPLES


Run unidsdiff on node 10:

% unidsdiff -n 10 -host inkpen

Enter SYSOP password:

unidsdiff: detected 0 duplicate "ctCalXItemId" attributes in directory

unidsdiff: detected 0 multi-valued "ctCalXItemId" attributes in directory

unidsdiff: detected 0 badly-formed "ctCalXItemId" attributes in directory

unidsdiff: detected 0 calendar-stores without a matching directory entry

unidsdiff: detected 0 calendar directory entries without a matching calendar-store

In this case, no discrepancies were found between the directory server and the CorporateTime Server. A verbose version of the same command would result in the following output:

% unidsdiff -n 10 -host inkpen -verbose

Enter SYSOP password:

DN="cn=Lorde Audre,o=Acme,c=us"<ctCalXItemID010:00346>

DN="cn=Kilpi Eeva,o=Acme,c=us"<ctCalXItemID010:00347>

:

:

DN="cn=Cohen Leonard,o=Acme,c=us"<ctCalXItemID010:00484>

DN="cn=Atwood Margaret,o=Acme,c=us"<ctCalXItemID010:00485>

DN="cn=Brossard Nicole,o=Acme,c=us"<ctCalXItemID010:00486>

unidsdiff: detected 0 duplicate "ctCalXItemId" attributes in directory

unidsdiff: detected 0 multi-valued "ctCalXItemId" attributes in directory

unidsdiff: detected 0 badly-formed "ctCalXItemId" attributes in directory

unidsdiff: detected 0 calendar-stores without a matching directory entry

unidsdiff: detected 0 calendar directory entries without a matching calendar-store

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

WARNINGS

Directory Server Warning

It is important to understand the implications of the directory server configuration for CorporateTime utilities. In a supplier-consumer configuration, the scheduling of updates between the consumer and supplier may result in temporary differences between the two. This may mean that a CorporateTime utility is reading from a consumer directory server that has not yet been synchronized with its supplier.

UNIDSSEARCH

unidssearch - Lists all users in a directory server who are not CorporateTime users.

SYNTAX

unidssearch [-f LDAPfilter] [-c #ofDNs]

unidssearch -v

unidssearch -h

DESCRIPTION

unidssearch outputs a list of all users in the directory server who are not CorporateTime users. The output of this command may be redirected to a file, modified as needed, and subsequently used as input to uniuser (using the -ex option). See OUTPUT FORMAT for information on the format of the file output by unidssearch.

The CorporateTime Server must be up to run unidssearch.

OPTIONS

-f

LDAPfilter

A raw LDAP filter that may be combined ("ANDed") with the default filter to retrieve users from an LDAP directory. Refer to your directory server documentation for exact attributes that can be specified in the LDAP filter. The values specified in the filter must be in the configured character set of the directory server (e.g. UTF-8, T.61). The default filter is:

[&(objectClass=organizationalPerson)(|(!(ctCalXItemId=*)) (!(ctCalXItemId=*:*)))]

-c

#ofDNs

Limit the number of results returned to #ofDNs.

-v

Print the current version number of unidssearch.

-h

Print a usage message explaining how to run unidssearch.

FORMATS

OUTPUT FORMAT

The content of the file output by unidssearch has the following format:

A did=cn=jdoe, o=Acme, c=US

A did=cn=confroom4, o=Acme, c=US

Each entry has an initial "A" character, followed by a "did". The "A" flags the user as one to be added to the directory server as a CorporateTime user. The "did" is the Directory ID or Distinguished Name of the user, uniquely identifying that user to the Directory Server.

The format of this file is the same as that required for the input file to the uniuser -ex command. If this is the intended use of the file, additional user data may be appended to the "did", in X.400 format. For example:

A did=cn=jdoe, o=Acme, c=US/G=John/OU=Sales

EXAMPLES


Obtain a listing of all directory server users who are not CorporateTime users and redirect the output to a file:

% unidssearch > dsonly.txt


Obtain a listing of 50 directory server users who are not CorporateTime users:

% unidssearch -c 50


Obtain a listing of only those directory server users whose surnames begin with "Smith" (the specified filter conforms to the requirements of the directory server being used):

% unidssearch -f "(sn=Smith*)"

Warning

It is important to understand the implications of the directory server configuration for CorporateTime utilities. In a supplier-consumer configuration, the scheduling of updates between the consumer and supplier may result in temporary differences between the two. This may mean that a CorporateTime utility is reading from a consumer directory server that has not yet been synchronized with its supplier.

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

SEE ALSO

UNIUSER

UNIDSSYNC

unidssync - Synchronizes the information in a CorporateTime node with that in a directory server.

SYNTAX

unidssync [-n node-ID] [-host hostname] [-p sysOpPsw]

unidssync -v

unidssync -h

DESCRIPTION

unidssync is only used by CorporateTime Servers using directory servers. This utility synchronizes the information in a CorporateTime node with that in the directory server.

unidssync should be run when other applications using the directory server have changed directory server entries without the knowledge of the CorporateTime Server, AND at least one of the following conditions is true:

the "dac_itemget" key in the [ENG] section of the unison.ini file is set to "FALSE" to enhance performance (in this case, CorporateTime retrieves its information from the internal store rather than from the directory server);

the "dac_dirdownfailover" key in the [ENG] section of the unison.ini file is set to "TRUE", to allow CorporateTime to continue running even if the directory server is down.

These conditions might allow discrepancies to arise between the information in the internal store of the CorporateTime node and that in the directory server. unidssync eliminates discrepancies, using the directory server as the authority. It should be run as part of a regular maintenance program.

The CorporateTime Server must be up to run unidssync.

OPTIONS

-host

host

Specify the host. Required if connecting to a remote host.

-n

node-ID

Specify the node. Required if more than one node exists.

-p

sysOpPsw

Provide the SYSOP password. If it is not provided on the command line, prompting for it will occur.

-v

Print the current version number of unidssync.

-h

Print a usage message explaining how to run unidssync.

EXAMPLES

Synchronize the contents of node 10 on host "fergus" with the directory server information for that node:

% unidssync -n 10 -host fergus

unidssync: 152 internal calendar directory entries to synchronize

SYNCHRONIZING <10,234> <S="Okeefe",G=Georgia)<U>

DONE

SYNCHRONIZING <10,235> <S="Whittome",G=Irene)<U>

DONE

SYNCHRONIZING <10,236> <S="Cornell",G=Joseph)<U>

DONE

:

:

SYNCHRONIZING <10,383> <S="Goodwin",G=Betty)<U>

DONE

SYNCHRONIZING <10,384> <S="Dickson",G=Jennifer)

<U> DONE

SYNCHRONIZING <10,385> <S="Wagschal",G=Marian)

<U> DONE

SYNCHRONIZING <10,386> <S="Giacometti",G=Alberto)

<U> DONE

unidssync: 152 internal calendar directory entries synchronized

Warning

Directory Server Warning

It is important to understand the implications of the directory server configuration for CorporateTime utilities. In a supplier-consumer configuration, the scheduling of updates between the consumer and supplier may result in temporary differences between the two. This may mean that a CorporateTime utility is reading from a consumer directory server that has not yet been synchronized with its supplier.

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

UNIDSUP

unidsup - Report the status of the directory server.

SYNTAX

unidsup [-q] [-host hostname]

unidsup -v

unidsup -h

DESCRIPTION

unidsup reports whether the directory server is up or down.

The CorporateTime Server must be up to run unidsup.

OPTIONS

-host

hostname

Provide the name of the machine hosting the CorporateTime Server. This option is required if the host is remote.

-q

Operate in quiet mode.

-v

Print the version number of unidsup.

-h

Print a usage message explaining how to run unidsup.

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

UNIGRPLS

unigrpls - Display both the public and administrative groups in a CorporateTime Server database.

SYNTAX

unigrpls [-grp groupname] [-members] [-host hostname] [-n node-ID] [-p sysOpPsw]

unigrpls -v

unigrpls -h

DESCRIPTION

unigrpls prints both the public and administrative groups in the specified CorporateTime node. By default, all groups are displayed along with the total number of members in each. The -members option is used to display each member in the group.

Note that if a directory server is used, any groups created in the directory server are also included in the output of unigrpls. If members are listed, only the members of the directory server group who are also CorporateTime users are output.

unigrpls can only be run if the CorporateTime Server is up.

OPTIONS

-grp

groupname

Specify a group.

-members

Print the individual members for each group output.

-host

hostname

Specify the host on which the operation is to be performed. The default is the local host.

-n

node-ID

Specify the node on which the group is located. Required if more than one node is configured.

-p

sysOpPsw

Specify the SYSOP password. Without this option, prompting for the password will occur.

-v

Print the current version number of unigrpls.

-h

Print a usage message explaining how to run unigrpls.

EXAMPLES


To display all groups in node 20 on the remote host "jupiter":

% unigrpls -host jupiter -n 20


To display all members of the group "Managers" in node 10 on the local host:

% unigrpls -grp "Managers" -members -n 10


To show all groups and all members where only one node is configured:

% unigrpls -members

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

UNIL2BENDIAN

unil2bendian - Converts a CorporateTime node database from a format for little-endian processors to a format for big-endian processors.

Contact CS&T Support for more information.

UNILOGONS

unilogons - A utility to display CorporateTime SIGNON/SIGNOFF statistics.

SYNTAX

unilogons [-s starttime] [-e endtime] [-i interval] [-f filename]

unilogons -t -s starttime -e endtime -i interval [-f filename]

unilogons -t [time] [-f filename]

unilogons -v

unilogons -h

DESCRIPTION

unilogons displays the signon and signoff activity of users on a CorporateTime Server at a specific time or during a specific time period. By default it uses the information in the /users/unison/log/act.log file. The -f option may be used to specify another input file.

The -t option displays activity at a precise moment, while the -s and -e options display activity during a defined period. The -i option specifies a regular time interval (e.g. every 15 minutes) within a specified period.

By default, all activity between the default start-time (the first minute of the current day) and the default end-time (the current system time) is displayed.

The CorporateTime Server must be up to run unilogons.

OPTIONS

-e

endtime

Specify an end time for the statistics. Without this option, the default end time is the current time of the current day. See TIME ARGUMENT FORMAT below for details on how to specify endtime.

-f

filename

Specify the name of the input file. By default the input file is /users/unison/log/act.log. The input file specified with the -f option must be in the same format as the act.log file.

-i

interval

Specify a time interval. The default interval is endtime less starttime. See INTERVAL ARGUMENT FORMAT below for details on how to specify interval.

-s

starttime

Specify a start time for the statistics. Without this option, the default start time is the first minute of the current day. See TIME ARGUMENT FORMAT below for details on how to specify starttime.

-t

[time]

If used without the -s, e, and -i options, this will display statistics for the current time (-t) or for a given time (-t time). When used together with all of the -s, -e, and -i options, the -t (without a time argument) restricts output to activity at only the precise times determined by the interval (-i) argument. See the last two EXAMPLES for sample output of the -s, -e, -i options both with and without the -t option. See TIME ARGUMENT FORMAT below for details on how to specify time.

-v

Print the current version number of unilogons.

-h

Print a usage message explaining how to run unilogons.

TIME ARGUMENT FORMAT

The starttime, endtime, and time arguments may each be expressed as either:

day month [year] [time]

or

[month day] time [year]

where

day

is a number between 1 and 31;

month

is either the full name of the month or the first three letters of the full name (e.g. jan, feb, mar, etc.) (month is case-insensitive);

year

must be 1991 or higher and must be specified using four digits; and

time

is in the form HH:MM or HH:MM:SS (HH is an integer between 0 and 23, MM is an integer between 0 and 59, and SS is an integer between 0 and 59).

The order of the individual elements in the argument is unimportant. What is important is that either day and month be specified, or time be specified. For example, the following are all valid:

Feb 22 1996 10:00:00

22 february 10:00:00

10:00:00 february 22 1996

1996 feb 22

feb 22

10:00:00

Default values for day, month, year and time are current day, current month, current year and current system time respectively.

Any missing field in time (HH, MM, or SS) will be replaced with the current HH, MM, or SS value. Thus, if the current date and time is March 12 1998 10:12:34, and only HH:MM are specified in the argument, the SS will become "34":

-e 12:41 -> March 12 1998 12:41:34

-s 12:41 -> March 12 1998 12:41:34

If none of the time fields are specified, starttime defaults to the first minute of the day, and endtime defaults to the last minute of the day:

-s feb 22 -> feb 22 1998 00:00:00

-e feb 22 -> feb 22 1998 23:59:59

INTERVAL ARGUMENT FORMAT

The interval argument must be an integer greater than zero and be input as minute, hour or day as follows:

minutes: 1m, 2m, etc. up to 999999999m (9 digits)

hours: 1h, 2h, etc. up to 9999999h (7 digits)

days: 1d, 2d, etc. up to 99999d (5 digits)

EXAMPLES


Display the current number of logged-on users:

unilogons -t


Display the number of users logged-on at 3:00 p.m. on October 6, 1998:

unilogons -t oct 6 1998 15:00

This would produce the following output:
Time 1: Oct 6 1998 15:00:00

------------------------------------------------------

Client

Logged-On

Name & Version

unisncd

2

Windows/32/CorporateTime

1

------------------------------------------------------

Totals

3


Display the number of users logged-on at 3:00 p.m. on October 6, 1998, and at each 15-minute interval, up to 5:00 p.m. on October 6, 1998.

unilogons -t -s oct 6 1998 15:00:00 -e oct 6 1998 17:00:00 -i 15m

A sample section of the output from this command shows the form of what will be output for each of the times 15:00:00, 15:15:00, 15:30:00, etc., up to 17:00:00. (Compare this with the output of the next example, where the -t is removed from the command line.)
Time 1: Oct 6 1998 15:00:00

---------------------------------------------------

Client

Logged-On

Name & Version

unisncd

2

Windows/32/CorporateTime

1

---------------------------------------------------

Totals

3


Output the signon/signoff statistics for a defined period of time (from 3:00 p.m. to 5:00 p.m. on October 6, 1998), providing cumulative statistics for each of the 15-minute intervals in the period. Note how the output from this command line differs from that of the previous example where the -t was included.

unilogons -s oct 6 1998 15:00:00 -e oct 6 1998 17:00:00 -i 15m

For each of the 15-minute time intervals within the entire time period, output similar to the following will be displayed:
Time Period 1:

From Oct 6 1998 15:00:00 Till Oct 6 1998 15:15:00

-------------------------------------------------------------------

Client

Log-

ons

Log-

offs

Average

Time

Logged-on

(hrs)

Median

Time

Logged-on

(hrs)

Name & Version

Not Available

0

2

20.71

23.98

unisncd

2

0

9.83

9.83

Windows/32/

CorporateTime

4

4

0.02

0.02

-------------------------------------------------------------------

Totals

6

6

FILES

/users/unison/log/act.log

By default unilogons obtains its information from this file. Note that this file is only created if the "activity" parameter of the [ENG] section of the unison.ini file is set to "TRUE".

EXIT STATUS

Exit values are:

0 Success

1 Failure

Warning

unilogons may take some time to finish depending on the size of the input file.


The disk space requirement to run unilogons is one and a half times the input file. Thus, if the size of the input file is 8M, approximately 12M of free disk space will be required to run unilogons. unilogons creates its temporary files in the /users/unison/tmp directory so sufficient free space must exist in that directory.

UNIMVUSER

unimvuser - A utility to move a CorporateTime user from one CorporateTime node to another.

SYNTAX

unimvuser -u user host1 hostname1 -host2 hostname2 -n1 node-ID1 -n2 node-ID2 [-p1 sysOpPsw1] [-p2 sysOpPsw2] [-up userPsw] [-UID preserve] [-verbose]

unimvuser -v

unimvuser -h

DESCRIPTION

unimvuser is used to move a CorporateTime user from one CorporateTime node to another.

The move operation makes the following changes to the user information:

  1. Any designate rights granted by the moved user are removed.
  2. Any public or members-only groups created by the moved user are made into private groups.

unimvuser logs these changes, along with the rest of its activity, in the /users/unison/log/unimvuser.log file.

It is important to understand that the move operation may still be in progress even after unimvuser has successfully completed. In particular, work is being done by the destination node (the node to which the user has moved) and by remote nodes (where other users reside who may have invited the user). Until the work is complete, the moved user will see an incomplete agenda.

The time required to complete the move operation depends on the number of requests waiting in the request queue of the Corporate-Wide Services daemon/service. For this reason, it is advisable to run unimvuser during off-peak hours for the CorporateTime Server.

If the move user operation fails, the user's preferences on the source node will be set to "cannot invite me". In order for others to schedule with this user, the flag must be removed.

The CorporateTime Server must be up to run unimvuser.

OPTIONS

-host1

hostname1

Specify the host name of the source node.

-host2

hostname2

Specify the host name of the destination node.

-n1

node-ID1

Specify the source node. This is required if more than one node exists on the host.

-n2

node-ID2

Specify the destination node. This is required if more than one node exists on the host.

-p1

sysOpPsw1

Provide the SYSOP password for the source node. If this option is not used, prompting for the password will occur.

-p2

sysOpPsw2

Provide the SYSOP password for the destination node. If this option is not used, prompting for the password will occur.

-u

user

Specify the user to be moved. See FORMAT OF THE user ARGUMENT below for details on the proper specification of the user argument. For directory servers, the user must already exist in the directory server used by the destination node.

-up

userPsw

Provide the new password for the user. If this option is not used, the user will be able to log into CorporateTime without a password. In the case of a directory server, this option has no effect since the password is stored in the directory server and thus remains unchanged.

-verbose

Use verbose mode.

-v

Print the current version number of unimvuser.

-h

Print a usage message explaining how to run unimvuser.

-UIDpreserve

Preserve original CAPI event UIDs. This option is required if CAPI is used on both the source and the destination node.

FORMATS

FORMAT OF THE user ARGUMENT

The user argument is a string of the form "key=value/key=value/...", where "key" is one of those listed below, and "value" is any string. Both "key" and "value" are case insensitive. For all keys except the ID key, the "value" string may be terminated by a wild card symbol (*). If a forward slash "/" is to be included in a string, it should be escaped with the character "\" to prevent it from being interpreted as a key-value pair delimiter - i.e. "S=Hoopla/OU1=R\\/D".

If, in a UNIX environment, a shell will be processing the string (e.g. the string is provided on the command line or is passed as an argument to the utility), the string should be enclosed in quotation marks. Furthermore, if characters meaningful to the shell are included in the string, they should be escaped (i.e. preceded by the escape character "\\") to prevent the shell from interpreting them.

Note that if the ID key-value pair is specified in the user argument, all other key-value pairs specified along with it are ignored. Further note that the ID key-value pair may be specified without using the ID key, i.e. "-u 256" is a valid specification and is equivalent to "-u ID=256".
Table G 7 ·
Key X.400 Field
S Surname
G Given name
I Initials
ID Identifier
X Generation
OU1 Organizational Unit 1
OU2 Organizational Unit 2
OU3 Organizational Unit 3
OU4 Organizational Unit 4
O Organization
C Country
A Administration domain
P Private domain
PHONE Phone number
EXT Phone extension
FAX Fax phone number
EMPL-ID Employee number
JOB-TITLE Job title

EXAMPLES

Move the user with ID 354 from node 12 on host "horus" to node 25 on host "nut":

% unimvuser -u "ID=354" -host1 horus -host2 nut -n1 12 -n2 25

FILES

/users/unison/log/unimvuser.log

unimvuser logs its activity in this file.

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

Warning
Directory Server Warning

It is important to understand the implications of the directory server configuration for CorporateTime utilities. In a supplier-consumer configuration, the scheduling of updates between the consumer and supplier may result in temporary differences between the two. This may mean that a CorporateTime utility is reading from a consumer directory server that has not yet been synchronized with its supplier.

SEE ALSO

UNIUSER

UNINODE

uninode - A utility to administer a CorporateTime Server node network.

SYNTAX

uninode -add hostname

uninode -apply [-y | -n] node-ID | hostname | group [sysOpPsw]

uninode -cws node-ID | hostname | group

uninode -edit [-e editor] [sysOpPsw]

uninode -import node-ID | hostname | group [sysOpPsw]

uninode -init [sysOpPsw]

uninode -reset node-ID | hostname | group [sysOpPsw]

uninode -retry node-ID | hostname | group [sysOpPsw]

uninode -snc node-ID | hostname | group

uninode -test node-ID | hostname | group

uninode -v

uninode -h

DESCRIPTION

uninode serves as a centralized administration tool for a network of CorporateTime Server nodes. Through the nodes.ini file, this utility adds and deletes nodes and the connections between them. It also reports on the network configuration as well as on the status of remote connections.

Note

Only one nodes.ini file should exist for a node network, regardless of how many CorporateTime Servers are linked. Furthermore, the node network must be configured and managed from the CorporateTime Server where this file is found.

The sysOpPsw is the SYSOP password for the node in the CorporateTime network with the lowest node-ID on the machine hosting the nodes.ini file.

node-ID, hostname and group each restrict uninode's actions to certain nodes in the nodes.ini file. node-ID restricts uninode to the specified node, hostname to the nodes on the specified host, and group to the nodes in the specified group. The group argument may be one of the following values:

all

all included (+) nodes

ALL

all included (+) and all excluded (-) nodes

out

all excluded (-) nodes

The group argument may also be a customized group name. Consult the uninodes.ini man page for further details on the meaning of each of these values.

If a directory server is being used, unidssync should be run on each node before running uninode to ensure that the local information in each node is synchronized with what is in the directory server. Note also that all nodes in a CorporateTime network must use the same directory server.

uninode can only be run if the CorporateTime Server is up.

OPTIONS

-add

hostname

Add all nodes found on the specified host. This option first determines which nodes exist on the specified host. It then removes all lines for that host in the nodes.ini file, and finally adds a line for each node found on the host. Nodes are added as excluded members of the network.

-apply

Apply the configuration in the nodes.ini file. The node-ID, group, and hostname arguments restrict the application to specified nodes in the nodes.ini file. The remote node information in each of the nodes involved is checked, and if it is found to be missing entries, the user is prompted to confirm the addition of the missing entries. The -y or -n option is used to automatically provide a response. The -test option should always be used before invoking the -apply option.

-cws

Print the following information on the Corporate-Wide Services (CWS) daemon/service for each remote node connection:

EX

Configured connections: the number of TCP/IP connections configured or "M" for a mail connection, as per the information in the nodes.ini file.

CO

Actual connections: the number of actual TCP/IP connections, or "M" for a mail connection.

Q-SIZE

The number of CWS requests currently in the CWS queue.

IN-PROCESS

The number of CWS requests processed.

IMPORT-DIR

The number of items (users and resources) in the local copy of the remote directory.

-edit

editor

Allow the user to safely edit a COPY of the nodes.ini file using the specified text editor. On exit from the editor, the edited file is parsed, and, if no errors are found, the original nodes.ini file is updated. If errors are found in the edited file, the user is prompted to either re-edit the file or abort the operation altogether. The -test option should always be used before invoking the -edit option.

-import

Same as -apply except that the remote node information for each node is automatically imported (no checking is done to determine if an inconsistency exists). For this reason, the -import option may take longer to complete than the -apply option.

-init

Construct an initial nodes.ini file from the currently running node network configuration. The node with the lowest node-ID on the machine hosting the nodes.ini file is the one from which uninode will begin construction of the file. If a nodes.ini file exists, uninode will prompt for confirmation before overwriting it.

-n

Used with the -apply option to prevent correction of any directory inconsistency.

-reset

Reset the statistics of a Synchronous Network Connection (SNC) daemon. It is recommended that all nodes be reset at the same time by running uninode -reset all. Resetting the statistics will allow the administrator to compare the statistics for different nodes at a later time.

-retry

Restart the retry mechanism of an SNC daemon. When there are fewer connections available than those configured, the SNC daemon attempts to acquire new connections at specific time intervals. It will retry at intervals of 1, 2, 4, 8, 16, 32, and finally every 64 minutes. This option resets the interval to 1 minute. One use of this option might be to run uninode -retry all after a network-related problem is solved.

-snc

Print information on the TCP/IP connections to remote nodes. The following information is printed for each remote node connection:

EX

Configured connections: the number of TCP/IP connections configured, as per the information in the nodes.ini file.

CO

Actual connections: the number of TCP/IP connections.

AV

The number of connections currently available.

US

The number of connections currently in use.

LOST

The number of times the SNC daemon lost a connection to the remote node.

RETRY

If a connection is currently lost, RETRY is the time (expressed in "mm:ss" format) before the next attempt to reconnect.

QUEUE

The number of requests currently in the queue.

CANCEL

The number of cancelled requests. A request is cancelled when it takes too much time to borrow a connection.

CHECK

The number of checks for queued requests. Checks are performed when a connection is waiting in the queue.

GRANTED

The number of connections granted since the CorporateTime Server was started.

-test

Verify whether it is currently possible to connect to a node or group of nodes. This option should always be used before the -edit or -apply commands to determine if the specified node is accessible. Tests are done to ensure that the:

-y

Used with the -apply option to auto-confirm the correction of any directory inconsistency.

-v

Print the current version number of uninode.

-h

Print a usage message explaining how to run uninode.

EXAMPLES

CREATE A NODE NETWORK

A company with offices in three different countries, each running its own CorporateTime Server, is setting up a node network. The node network will be managed from the CorporateTime Server running on "gravlax" in Sweden, so the first step is to log on to "gravlax" and create a nodes.ini file.

% uninode -init

Since no node network currently exists, an empty nodes.ini file will be created with sample lines included as comments.

Add the nodes from each of the three CorporateTime Servers.

% uninode -add gravlax

% uninode -add gnocchi

% uninode -add biryani

Examine the contents of the nodes.ini file.

% cat nodes.ini

- H=biryani/N=32

- H=biryani/N=31

- H=gnocchi/N=25

- H=gnocchi/N=24

- H=gnocchi/N=23

- H=gnocchi/N=22

- H=gnocchi/N=21

- H=gravlax/N=13

- H=gravlax/N=12

- H=gravlax/N=11

Edit the file to configure the connections between the nodes.

% vi /users/unison/misc/nodes.ini

Examine the nodes.ini file again.

% cat /users/unison/misc/nodes.ini

+ H=biryani/N=32/ALIAS=salesIndia/GR=india

+ H=biryani/N=31/ALIAS=adminIndia/GR=india

- H=gnocchi/N=26/ALIAS=tempItaly/GR=italy

+ H=gnocchi/N=25/ALIAS=supportItaly/GR=italy

+ H=gnocchi/N=24/ALIAS=financeItaly/GR=italy

+ H=gnocchi/N=23/ALIAS=r&dItaly/GR=italy

+ H=gnocchi/N=22/ALIAS=salesItaly/GR=italy

+ H=gnocchi/N=21/ALIAS=adminItaly/GR=italy

- H=gravlax/N=16/ALIAS=tempSweden/GR=sweden

+ H=gravlax/N=13/ALIAS=r&dSweden/GR=sweden

+ H=gravlax/N=12/ALIAS=salesSweden/GR=sweden

+ H=gravlax/N=11/ALIAS=adminSweden/GR=sweden

all:2

india:+2

italy:+3

sweden:+2

There are now two connections between each node. Two connections go from node 32 on biryani to node 13 on gravalax, and two go from node 13 on gravlax to node 32 on biryani. The "italy" group of nodes has three additional connections from each node in the group to each of the other nodes in the group. There are two excluded nodes. Consult the uninode.ini man page for rules on configuring connections between nodes.

Apply the configuration. Since this is the first time that nodes on each machine will "see" nodes on the other machines, inconsistencies can be expected in their remote node directories. The -import option will automatically update all of the remote node directories for the nodes in the network.

Run uninode -test to ensure node accessibility before running the -import option.

% uninode -test gravlax

% uninode -test gnocchi

% uninode -test biryani

Proceed with the -import option if the tests succeed.

% uninode -import gravlax

During execution of this command, uninode will print out information on the work it is performing.

uninode: connected to gravlax, node 11

uninode: added 11->12, TCP/IP connection

uninode: placed a request in the CWS queue to get node 12 user directory

The node network is now in place.

FILES

/users/unison/misc/nodes.ini

Contains the list of nodes and the rules that describe the CorporateTime node network configuration.

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt.

SEE ALSO

/users/unison/man/man4/uninode.ini explains the format of the nodes.ini file.


Corporate Software & Technologies
http://www.cst.ca
Voice: (514) 733-8500
Fax: (514) 733-8878
info@cst.ca
TOC PREV NEXT INDEX