Netscape Calendar Server 4.0: Administrator's G uide

Utilities

This appendix contains full instructions for all utilities shipped with the Calendar Server. Much of the functionality can also be accessed through the Calendar Server Manager interface of Netscape Administration Server 3.5.

Table G.1 Calendar Server Utilities

Script

Function

UNIADDNODE

Create a new Calendar node or re-initialize an existing one

UNIADMRIGHTS

Manage the administration rights of users

UNIARCH

Create a tar archive of the Calendar Server (UNIX only)

UNIB2LENDIAN

Convert a Calendar node database from a format for big-endian processors to a format for little-endian processors

UNICHECK

Verify the Calendar Server file system (UNIX only)

UNICKSUM

Generate a checksum for a file

UNICLEAN

Clean up the Calendar Server file system (remove transient files and set permissions) (UNIX only)

UNICLR_IPC

Clear IPC resources consumed by the Calendar Server (UNIX only)

UNICPINR

Copy resource data from a file created by unicpoutr to a Calendar Server node

UNICPINU

Copy the contents of a file of user data created by unicpoutu to a Calendar node

UNICPOUTR

Copy resource data from a Calendar Server node to a file

UNICPOUTU

Copy user data from a Calendar Server node to a file

UNIDB50TO60CONV

Convert a 5.0 Calendar node database to a 6.0 Calendar node database

UNIDBBACKUP

Create an archive of the Calendar Server

UNIDBFIX

Check, repair, defragment and maintain a Calendar Server node

UNIDBRESTORE

Restore the contents of a Calendar Server from a backup created by unidbbackup

UNIDSDIFF

Find and delete differences between a Calendar node and a directory server

UNIDSSEARCH

List all users in a directory server who are not Calendar users

UNIDSSYNC

Synchronize the information in a Calendar node with that in a directory server

UNIDSUP

Report the status of the directory server

UNIGRPLS

Display both the public and administrative groups in a Calendar Server database

UNIL2BENDIAN

Convert a CorporateTime node database from a format for little-endian processors to a format for big-endian processors

UNILOGONS

Display Calendar SIGNON/SIGNOFF statistics

UNIMVUSER

Move a Calendar user from one Calendar node to another

UNINODE

Administer a Calendar Server node network

UNIPASSWD

Change a user password on a Calendar database

UNIREQDUMP

View, and optionally delete, requests in the queue of the Corporate-Wide Services (CWS) daemon

UNIRES

List, add, or delete Calendar resources, or modify the information associated with them

UNIRMOLD

Remove old events and tasks from calendar s in a Calendar database

UNIRNSYNCH

Propagate deletions in the local information of one node to another node in the network

UNISIZEOF

Compute the size of the Calendar Server installation

UNISLICE

Extract information from Calendar Server log files (UNIX only)

UNISNAPSHOT

Compile Calendar Server information for diagnostic purposes

UNISNCDUMP

Retrieve statistics from the Calendar Server's unisncd daemon/service

UNISTART

Start up the Calendar Server

UNISTAT

Produce a report on a Calendar node

UNISTATS

Display summary statistics of the data in a Calendar stats file

UNISTATUS

Determine the status of the Calendar Server

UNISTOP

Shut down the Calendar Server

UNITZINFO

Print information about a Calendar Server time zone

UNIUSER

List, add, or delete Calendar users; modify the information associated with them

UNIVERSION

Verify the version of the Calendar Server (UNIX only)

UNIWHATOS

Determine whether the Calendar Server package will run under the current operating system (UNIX only)

UNIWHO

Display information on signed-on Calendar users

 

UNIADDNODE

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

 

SYNTAX

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 Calendar node. It can also be used to re-initialize an existing node.

uniaddnode can only be run if the Calendar 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. If the password is not provided on the command line, prompting for it will occur. -r
Re-initialize the node.

Note that 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 Calendar 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). 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 Calendar 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 Calendar 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 Calendar 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 behavior 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 calendars 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 behavior 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 Calendar 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 Calendar 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 Calendar Server.

 

SYNTAX

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

uniarch -v

uniarch -h

 

DESCRIPTION

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

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

Warning
uniarch backs up the Calendar Server internal database. The directory server database should also be backed up.

 

OPTIONS

-d
Force a backup of the contents of /users/unison/db/nodes, the Calendar 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 Calendar 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 Calendar node database from a format for big-endian processors to a format for little-endian processors.

 

SYNTAX

unib2lendian [-n node-ID ]

unib2lendian -v

unib2lendian -h

 

DESCRIPTION

unib2lendian is used when migrating a node database from a Calendar Server running on a big-endian machine to one running on a little-endian machine. (HP-UX, SunOS, AIX, and IRIX usually run on big-endian processors while UnixWare and Windows NT usually run on little-endian processors.)

This utility converts the *.dat files of the node database from a big-endian to a little-endian format. The conversion is executed on a COPY of the files, leaving the original database untouched. The *.dat files are the only ones that must be converted; the remaining files are built on the destination machine.

unil2bendian is the complementary utility which converts *.dat files from a little-endian format to a big-endian format.

unib2lendian can only be run if the Calendar Server is down.

 

OPTIONS

-n
node-ID

Specify the node. Required if more than one exists.

-v
Print the current version number of unib2lendian.

-h
Print a usage message explaining how to run unib2lendian.

 

EXAMPLES

In the following example, node 45 is being converted and moved from a Calendar Server running on a big-endian system to one running on a little-endian system.

  1. Stop the Calendar Server on both machines.

    % cd /users/unison/bin

    % unistop

    C> cd \users\unison\bin

    C> unistop

Warning
Do not restart the Calendar Server on either of the machines until you are certain that all steps in this process have been completed. In particular, ensure that the node entries in the unison.ini file on each machine have been updated, and if a node network is in place, that the information about the network has been properly updated.

  1. Run unib2lendian on the target node.

    % unib2lendian -n 45

    The converted copy of the node will be found in the /users/unison/db/nodes/N#/perm_conv directory where N# is the "name" value (from unison.ini) of the target node.

  2. Adjust the node entries in the /users/unison/misc/unison.ini files:

    a. Remove the node entry for this node in the unison.ini file on the target machine.

    b. Add an entry for this node to the unison.ini file on the destination machine (the "name" value used in this example is "N1").

    C> edit \users\unison\misc\unison.ini

    [45]

    name = N1

    version = A.02.50

    Copy all *.dat files in the perm_conv directory to the \users\unison\db\nodes\N1\perm directory on the little-endian system.

  3. Copy the two static files required by the database into the node's new perm directory.

    C> cd \users\unison\db\nodes\N1\perm

    C> copy \users\unison\db\nodes\nempty\perm\unison.dbd

    C> copy \users\unison\db\nodes\nempty\perm\vista.ctb

  4. Create a tmp directory for the node:

    C> cd \users\unison\db\nodes\N

    C> mkdir tmp

    C> cd tmp

    C> copy \users\unison\db\nodes\nempty\tmp\set.dat

    C> copy \users\unison\db\nodes\nempty\tmp\set.key

    C> copy \users\unison\db\nodes\nempty\tmp\unitmp.dbd

  5. Update the topology of the node network if the node is part of a node network. This MUST be done before restarting the Calendar Server to ensure that the changes to the network topology are properly integrated.

Warning
Failure to carry out this step may result in data loss and/or corruption of the database.

a. Export the information in the remotenode.dat file to the remotenode.ini file for EACH node in the node network. Thus, if the node network consists of nodes 30, 35, 40, 45 and 50, we would perform the following:

% unidbfix -export -n 30

% unidbfix -export -n 35

% unidbfix -export -n 40

C> unidbfix -export -n 45

C> unidbfix -export -n 50

Remember that unidbfix must be run on the machine on which the node resides.

b. Edit the remotenode.ini file for each node in the network and change the host name associated with node 45. This file is found in the node's perm directory.

c. Update the remotenode.dat file with the information in the new remotenode.ini file.

% unidbfix -import -n 30

% unidbfix -import -n 35

% unidbfix -import -n 40

C> unidbfix -import -n 45

C> unidbfix -import -n 50

Running unidbfix in import mode also rebuilds the key files. Thus, the key files here will be rebuilt from the updated remotenode.dat file.

d. Edit the /users/unison/misc/nodes.ini file on the hub Calendar Server to reflect the change in host name for this node.

  1. Restart the Calendar Server(s).

    C> cd \users\unison\bin

    C> unistart

    % cd /users/unison/bin

    % unistart

 

EXIT STATUS

Exit values are:

0 Success

1 Failed to convert the database

2 Usage error

 

SEE ALSO


unidbfix, unistart, unistop, uninode

 

UNICHECK

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

 

SYNTAX

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

unicheck -v

unicheck -h

 

DESCRIPTION

unicheck verifies the Calendar Server file system. The utility first checks that the version of the Calendar 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 Calendar 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 Calendar 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 Calendar Server file system.

 

SYNTAX

uniclean

uniclean -v

uniclean -h

 

DESCRIPTION

uniclean is used to clean up the Calendar 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 Calendar 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


unicheck

 

UNICLR_IPC

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

 

SYNTAX

uniclr_ipc [-s] [-q]

uniclr_ipc -v

uniclr_ipc -h

 

DESCRIPTION

uniclr_ipc clears IPC (Inter-Process Communication) resources consumed by the Calendar 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 Calendar 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 Calendar 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 Calendar 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 Calendar Server node. The utility can be used in conjunction with unicpoutr to move a resource from one node to another, or to add the calendar of one resource to that of another (see EXAMPLES).

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

unicpinr can only be run if the Calendar 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 calendar -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. Calendar information

    Where a resource already exists in the destination node, unicpinr will simply add the calendar information in the input file to the existing calendar .

    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. 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 CALENDAR OF ONE RESOURCE TO THAT OF ANOTHER RESOURCE
unicpinr can be used in conjunction with unicpoutr to add the calendar of one resource to that of another resource. This example will add the calendar for "PineNook" to the calendar 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 calendar -specific preferences are not overwritten.

% unicpinr -f pinenook.dat 30

The calendar information for PineNook has been added to the existing calendar 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 calendar 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 calendar 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 calendar 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 Calendar 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 Calendar utility is reading from a consumer directory server that has not yet been synchronized with its supplier.

 

SEE ALSO


unicpoutr, unicpr

 

UNICPINU

unicpinu - copy the contents of a file of user data created by unicpoutu to a Calendar 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 Calendar 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 calendar of one user to that of another user (see EXAMPLES).

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

unicpinu can only be run if the Calendar 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 calendar -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. Calendar information

    Where a user already exists in the destination node, unicpinu will simply add the calendar information in the input file to the existing calendar .

    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 calendar .

 

OPTIONS

-add
Add the user to the database and then copy in the user's calendar . It is an error to specify this option if the user already exists. Note that 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 Calendar 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 calendar 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. Thisstep 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

    % uniuser -ls "S=Herman/G=S*" 44

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


 

ADD THE CALENDAR OF ONE USER TO THAT OF ANOTHER USER
unicpinu can be used in conjunction with unicpoutu to add one user's calendar to that of another user. This example will add Sarah Herman's calendar to Yannick Olafsen's calendar .

  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 calendar preferences will not be overwritten.

    % unicpinu -f sherman.dat 24

    The calendar information for Sarah Herman will be added to the existing calendar 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 calendar 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 calendar 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 calendar 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 Calendar 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 Calendar utility is reading from a consumer directory server that has not yet been synchronized with its supplier.

 

SEE ALSO


unicpoutu, unicpu

 

UNICPOUTR

unicpoutr - copy resource data from a Calendar 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 Calendar 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 calendar from one resource to another.

unicpoutr can only be run if the Calendar 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 calendar 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 calendar , 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 Calendar 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 Calendar utility is reading from a consumer directory server that has not yet been synchronized with its supplier.

 

SEE ALSO


unicpinr, unicpr

 

UNICPOUTU

unicpoutu - copy user data from a Calendar 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 Calendar 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 calendar from one user to another.

unicpoutu can only be run if the Calendar 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 calendar 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 calendar 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 calendar ; 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 calendar , 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 calendar 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 calendar 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 Calendar 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 Calendar utility is reading from a consumer directory server that has not yet been synchronized with its supplier.

 

SEE ALSO


unicpinu, unicpu

 

UNIDB50TO60CONV

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

 

SYNTAX

unidb50to60conv -n node-ID | -n all

unidb50to60conv -v

unidb50to60conv -h

 

DESCRIPTION

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

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

The Calendar 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 Calendar 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 Calendar Server node and related configuration information.

 

SYNTAX

unidbbackup -d dst

unidbbackup -v

unidbbackup -h

 

DESCRIPTION

unidbbackup creates a backup of a Calendar 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 behavior 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 Calendar Server is either up or down.

Warning
unidbbackup backs up the Calendar Server internal database. The directory server 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 Calendar 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.


unidbrestore

 

UNIDBFIX

unidbfix - A utility to check, repair, defragment, and maintain Calendar Server node databases.

 

SYNTAX

unidbfix -c [-pix] -n node-ID [-r] [-sfgn]

unidbfix -f [-pix] -n node-ID [-r] [-y] [-sfgn]

unidbfix -d [-pix] -n node-ID [-r] [-y] [-sfgn]

unidbfix -export [-pix] -n node-ID [-r]

unidbfix -import [-pix] -n node-ID [-r] [-y]

unidbfix -ck -n node-ID [-r] [-y]

unidbfix -k -n node-ID [-r] [-y]

unidbfix -i [-pix] -n node-ID [-r]

unidbfix -v

unidbfix -h

 

DESCRIPTION

unidbfix is run to check for and repair database corruptions, inconsistences, and/or to defragment and compress the database. It is also run as part of a regular database maintenance program.

Important!
Before invoking this utility with one of the -f, -d, or -import options it is highly recommended that a backup of the database be made. Only the data (*.dat) files need to be backed up as the key (*.key) files can be reconstructed from the data files. unidbfix carries out checks/repairs on the following parts of the database at the specified node:

unidbfix can be run in one of eight different modes as listed below. If a fix is made in any mode, it is reported. The scan phases for each mode are listed in the order in which they occur. See NOTES section for additional information on the Remote Nodes, Bins, and File Fragmentation scan phases.

Table G.7

Mode

Option

Scan Phases

Changes Database

check

-c

File Sizes

Nodes

Remote Nodes

Records

Sets

Bins

Dchain

Key Check

Database Info

No

fix

-f

File Sizes

Nodes

Remote Nodes

Records

Sets

Bins

Dchain

File Fragmentation

Key Build

Database Info

Yes

defragment

-d

File Sizes

Nodes

Remote Nodes

Records

Sets

Bins

Dchain

File Fragmentation

Key Build

Yes

import

-import

Remote Nodes

Key Build

Yes

export

-export

Remote Nodes

No

check key

-ck

Key Build

(in check mode)

No

fix key

-k

Key Build

(in fix mode)

Yes

info

-i

Database Info

No

unidbfix can only be run if the Calendar Server is down.

 

OPTIONS

-c
Run in check mode. All database corruptions and inconsistencies are reported, although no action is taken to correct them (fix mode is used to do this). If an error is detected, checking stops after the scan phase in which the errors were found. For instance, if an error is discovered during the File Sizes scan phase, unidbfix will terminate on completion of this scan phase. It will not proceed to the Nodes scan phase.

-ck
Run in check key mode. Checks only the key files of the database.

-d
Run in defragment mode. This mode frees space occupied by deleted records and then compresses the database. To ensure database consistency, the database is first checked for errors (see the list of scan phases for this mode), and only if no errors are detected will defragmentation proceed.

Warning
While it is possible to interrupt unidbfix during the defragmentation phase using a kill -9, this will cause irreversible damage.

-export
Run in export mode. Export mode writes remote node information from the database to the remotenode.ini file. Note that only the non-null fields for each remote node are written to the file. See the REMOTE NODES SCAN PHASE note for an example of how to use the -export mode.

-f
Run in fix mode. Fix and clean up the database. This fixes all errors detected in check mode. In some circumstances unidbfix may be forced to delete data (e.g. where corruption to the data is such that unidbfix is unable to repair it, or where orphan data cannot be safely re-integrated).

-i
Run in info mode. This mode outputs various database statistics to the dbfix.log file.

-import
Run in import mode. Import mode writes remote node information from the remotenode.ini file to the database. See the REMOTE NODES SCAN PHASE note for an example of how to use the -import mode.

-k
Run in fix key mode. Rebuilds only the key files of the database.

-n
node-ID

Specify the node to be checked/fixed/defragmented. Without this option, the node used is N1. To scan all the nodes on a computer use -n all.

-pix
Turn off the progress indicator. By default a progress indicator, for each utility called by unidbfix, is output to standard error.

-r
Overwrite the log file /users/unison/log/dbfix.log, rather than appending output to it.

-sfgn
Turn on foreign node checking and fixing. Use only if you have foreign nodes and items.

-y
Turn fix and defragmentation confirmation message off.

-v
Print the current version number of unidbfix.

-h
Print a usage message, and a short description of each option.

 

EXAMPLES

Check the consistency of node 35:


% unidbfix -c -n 35

Fix node 12:


% unidbfix -f -n 12

Defragment and compress node 10 and overwrite the log file:


% unidbfix -d -n 10 -r

FILES


/users/unison/log/dbfix.log

The errors found and/or the fixes made are written to this file. Each error is listed as a DATABASE ERROR, while each repair is listed as a FIX. All database errors found by unidbfix, can be repaired by it. Totals of all errors found, fixes made, and records deleted during fixing, appear at the end of the file. Note that the total number of database errors and the total number of fixes need not be equal. Normally this file is not consulted.


/users/unison/log/unison.ini

This file can be consulted for a listing of all local nodes, with their corresponding directory names and node-IDs.


remotenode.ini

This file is used by unidbfix in import and export modes. It is created in a node's perm directory the first time unidbfix is run on the node and contains a listing of all the remote node records and their data fields. The information for each remote node is as follows:


[Node-ID]


RN_NUMCONNECT:    any number zero and above


RN_ACCESSMETHOD:  must be 2


RN_SERVICENAME:   must be "unieng"


RN_HOSTNAME:      name of the remote host

Node-ID is the remote node identification number. It must be enclosed in square brackets and it must start a line. A field can have a null value. If any field has an invalid value, unidbfix will return an error message, and will not make the change for the remote node with the error.

The following sample remotenode.ini file contains two remote nodes: the first has the node-ID 730 and the name "NewYork"; the second has the node-ID 631 and the name "LosAngeles".


[730]


RN_NUMCONNECT = 2


RN_ACCESSMETHOD = 2


RN_SERVICENAME = "unieng"


RN_HOSTNAME = "NewYork"


[631]


RN_NUMCONNECT = 2


RN_ACCESSMETHOD = 2


RN_SERVICENAME = "unieng"


RN_HOSTNAME = "LosAngeles"


unidbfix.lck

This is a lock file which prevents multiple instances of unidbfix from running on the same node at the same time. It is created in the perm directory of the node on which unidbfix is running. In the event that a kill -9 or a system crash prevents unidbfix from running to completion, this file will remain. It may be manually deleted.

 

EXIT STATUS

Exit values are:

0 Success

No errors found (check mode), or errors found but fixed (fix mode), successfully defragmented (defragment mode), or a successful import (import mode) or export (export mode).

1 Errors Found

Errors were found (check mode).

2 Usage error

3 User interrupt

4 Aborted

Another instance of unidbfix was currently running on the node.

5 Stopped

Errors were found in the remote node records while in fix or check mode, or the remotenode.ini file is missing. unidbfix needed more information to be able to continue checking or fixing.

 

NOTES

 
KEY FILES
Note that the key files of the database are rebuilt in fix, defragment, import, and fix key modes. If unidbfix is interrupted during any of these modes, the key files may have been deleted. For this reason, it is highly recommended that unidbfix be run again after an interruption.

 

BINS AND FILE FRAGMENTATION SCAN PHASES
In the Bins and the File Fragmentation scan phases, files are rebuilt without checking for, or reporting, previously existing errors. In all other scan phases all errors reported in check mode will be reported in fix mode before being fixed.

 

REMOTE NODES SCAN PHASE
For this scan phase to run, the node's remotenode.ini must exist, and its contents must agree with the list of remote nodes contained in the database. When one of these conditions is not met, the -export and -import modes can be used to rectify the situation. In the explanations that follow, the node-ID used is "43".

Note
Care should be taken here as errors in this file may lead to unwanted deletion of records when the file is imported. For this reason it is highly recommended that the database be backed up before running unidbfix in -import mode.

The modified file is used to update the database:

% unidbfix -import -n 43

 

SEE ALSO


unistart, unistop, unidbmkeys, unidbchk

 

UNIDBRESTORE

unidbrestore - A utility to restore a Calendar 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 Calendar 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 Calendar database. Thus, this utility should be used with extreme care to ensure the Calendar 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 behavior 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 Calendar Server is down.

Warning
unidbrestore restores the Calendar Server internal database. The directory server 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 Calendar 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.


unidbbackup

 

UNIDSDIFF

unidsdiff - Finds and deletes differences between a Calendar 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 Calendar 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.

Calendar 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:

  4. all users and resources in the Calendar node appear in the directory server (if the -d option was used, any users or resources appearing only in the Calendar node will be removed)

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

The Calendar 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 "nsCalXItemId" attributes in directory


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


unidsdiff: detected 0 badly-formed "nsCalXItemId" 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 Calendar Server. A verbose version of the same command would result in the following output:


% unidsdiff -n 10 -host inkpen -verbose


Enter SYSOP password:


DN="uid=Lorde Audre,o=Acme,c=us"<nsCalXItemID010:00346>


DN="uid=Kilpi Eeva,o=Acme,c=us"<nsCalXItemID010:00347>


:


:


DN="uid=Cohen Leonard,o=Acme,c=us"<nsCalXItemID010:00484>


DN="uid=Atwood Margaret,o=Acme,c=us"<nsCalXItemID010:00485>


DN="uid=Brossard Nicole,o=Acme,c=us"<nsCalXItemID010:00486>


unidsdiff: detected 0 duplicate "nsCalXItemId" attributes in directory


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


unidsdiff: detected 0 badly-formed "nsCalXItemId" 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 Calendar 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 Calendar 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 Calendar 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 Calendar 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 Calendar 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)(|(!(nsCalXItemId=*)) (!(nsCalXItemId=*:*)))]

-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=uid=jdoe, o=Acme, c=US


A did=uid=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 Calendar 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=uid=jdoe, o=Acme, c=US/G=John/OU=Sales

 

EXAMPLES


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


% unidssearch > dsonly.txt


Obtain a listing of 50 directory server users who are not Calendar 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*)"

 

WARNINGS

It is important to understand the implications of the directory server configuration for Calendar 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 Calendar 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


uniuser

 

UNIDSSYNC

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

 

SYNTAX

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

unidssync -v

unidssync -h

 

DESCRIPTION

unidssync synchronizes the information in a Calendar 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 Calendar 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, Calendar 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 Calendar 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 Calendar 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 Calendar 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

 

WARNINGS

 
Directory Server Warning
It is important to understand the implications of the directory server configuration for Calendar 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 Calendar 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 Calendar Server must be up to run unidsup.

 

OPTIONS

-host
hostname

Provide the name of the machine hosting the Calendar 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 Calendar 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 Calendar 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 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 Calendar users are output.

unigrpls can only be run if the Calendar 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.

 

SYNTAX

unil2bendian [-n node-ID ]

unil2bendian -v

unil2bendian -h

 

DESCRIPTION

unil2bendian is used when migrating a node database from a CorporateTime Server running on a little-endian machine to one running on a big-endian machine. (HP-UX, SunOS, AIX, and IRIX usually run on big-endian processors while UnixWare, and Win NT usually run on little-endian processors.)

This utility converts the *.dat files of the node database from a little-endian to a big-endian format. It performs the conversion on a COPY of the files, so the original database remains untouched. The *.dat files are the only ones that must be converted; the remaining files are built on the destination machine.

unib2lendian is a complementary utility which converts *.dat files from a big-endian format to a little-endian format.

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

 

OPTIONS

-n
node-ID

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

-v
Display the current version number of unil2bendian.

-h
Prints a usage message explaining how to run unil2bendian.

 

EXAMPLES

In the following example, the database for node 345 is being converted and moved from a CorporateTime Server running on a little-endian machine to one running on a big-endian machine.

  1. First stop the CorporateTime Server on each of the machines.

    C> cd \users\unison\bin

    C> unistop

    % cd /users/unison/bin

    % unistop

Warning
Do not restart the CorporateTime Server on either of the machines until you are certain that all steps in this process have been completed. In particular ensure that the node entries in the unison.ini file on each machine have been updated, and if a node network is in place, that the information about the network has been properly updated.

  1. Now run unil2bendian on the target node.

    C> unil2bendian -n 345

    The converted copy of the node will be found in the \users\unison\db\nodes\N#\perm_conv directory where N# is the "name" value (from unison.ini) of the target node.

  2. Now adjust the node entries in the /users/unison/misc/unison.ini files:

    a. Remove the node entry for this node in the unison.ini file on the target machine.

    b. Add an entry for this node to the unison.ini file on the destination machine (the "name" value used in this example is "N1").

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

    [345]

    name = N1

    version = A.02.50

  3. Now copy all *.dat files in the perm_conv directory to the /users/unison/db/nodes/N1/perm directory on the big-endian machine (using, e.g. ftp).

  4. Copy the two static files required by the database into the node's new perm directory.

    % cd /users/unison/db/nodes/N1/perm

    % cp /users/unison/db/nodes/nempty/perm/unison.dbd .

    % cp /users/unison/db/nodes/nempty/perm/vista.ctb .

  5. Create a tmp directory for the node.

    % cd /users/unison/db/nodes/N1

    % mkdir tmp

    % cd tmp

    % cp /users/unison/db/nodes/nempty/tmp/set.dat .

    % cp /users/unison/db/nodes/nempty/tmp/set.key .

    % cp /users/unison/db/nodes/nempty/tmp/unitmp.dbd .

  6. Finally, if the node is part of a node network, update the topology of the node network. This MUST be done before restarting the CorporateTime Server to ensure the changes to the network topology are properly integrated.

Warning
Failure to carry out this step may result in data loss and/or corruption of the data base.

a. First, for EACH node in the node network, export the information in the remotenode.dat file to the remotenode.ini file. So, if the node network consists of nodes 330, 335, 340, 345 and 350, wewould perform the following:

C> unidbfix -export -n 330

C> unidbfix -export -n 335

C> unidbfix -export -n 340

% unidbfix -export -n 345

% unidbfix -export -n 350

Remember that unidbfix must be run on the machineon which the node resides.

b. Next, edit the remotenode.ini file for each node in the network and change the hostname associated with node 345. This file is found in the node's perm directory.

c. Now update the remotenode.dat file with the information in the new remotenode.ini file.

C> unidbfix -import -n 330

C> unidbfix -import -n 335

C> unidbfix -import -n 340

% unidbfix -import -n 345

% unidbfix -import -n 350

Running unidbfix in import mode also rebuilds the key files. So the key files here will have been rebuilt from the updated remotenode.dat file.

d. Edit the /users/unison/misc/nodes.ini file on the hub CorporateTime Server to reflect the change in hostname for this node.

  1. Restart the Calendar Server(s).

    C> cd \users\unison\bin

    C> unistart

    % cd /users/unison/bin

    % unistart

 

EXIT STATUS

Exit values are:

0 Success

1 Failed to convert the database

2 Usage error

 

SEE ALSO


unidbfix, unistart, unistop, uninode

 

UNILOGONS

unilogons - A utility to display Calendar 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 Calendar 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 Calendar 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/ Calendar 


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/ Calendar 


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/










 Calendar


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

 

WARNINGS


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 Calendar user from one Calendar node to another.

 

SYNTAX

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

unimvuser -v

unimvuser -h

 

DESCRIPTION

unimvuser is used to move a Calendar user from one Calendar 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 calendar .

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 Calendar Server.

The Calendar 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. The user must already exist in the directory server used by the destination node.

-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.8

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

 

WARNINGS

 
Directory Server Warning
It is important to understand the implications of the directory server configuration for Calendar 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 Calendar utility is reading from a consumer directory server that has not yet been synchronized with its supplier.


uniuser

 

UNINODE

uninode - A utility to administer a Calendar 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 Calendar 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.

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

The sysOpPsw is the SYSOP password for the node in the Calendar 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.

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 Calendar network must use the same directory server.

uninode can only be run if the Calendar 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 Calendar 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 Calendar Server, is setting up a node network. The node network will be managed from the Calendar Server running on "gravalax" in Sweden, so the first step is to log on to "gravalaxgravalax" 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 Calendar Servers.


% uninode -add gravalax


% 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=gravalax/N=13


- H=gravalax/N=12


- H=gravalax/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=gravalax/N=16/ALIAS=tempSweden/GR=sweden


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


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


+ H=gravalax/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 gravalax 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 gravalax


% uninode -test gnocchi


% uninode -test biryani

Proceed with the -import option if the tests succeed.


% uninode -import gravalax

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


uninode: connected to gravalax, 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 Calendar 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(4) explains the format of the nodes.ini file.

 

UNIPASSWD

unipasswd - Change a user password on a Calendar database.

 

SYNTAX

unipasswd [-e entry | -sysop | -cwsop] [-n node-ID] [-host hostname] [-p sysOpPsw]

unipasswd -v

unipasswd -h

 

DESCRIPTION

unipasswd changes the password of the SYSOP, the CWSOP, or a specific user on a given node. By default, the SYSOP password is changed. Note that the -e, -sysop and -cwsop options are all mutually exclusive.

unipasswd can only be run if the Calendar Server is up.

 

OPTIONS

-cwsop
Change the password of the CWSOP.

-e
entry

Change a user password (search filter). See FORMAT OF THE entry ARGUMENT for details on how to specify entry.

-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 password is to be changed. Required if more than one node exists.

-p
sysOpPsw

Provide the SYSOP password. Required if -e option is used and a SYSOP password is set. If this is required and it is not supplied on the command line, prompting for it will occur.

-sysop
Change the password of the SYSOP.

-v
Print the current version number of unipasswd.

-h
Print a usage message explaining how to run unipasswd.

 

FORMATS

 
FORMAT OF THE entry ARGUMENT
The entry 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.9

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


Change the SYSOP password on node 20 on the remote host "jupiter":


% unipasswd -host jupiter -n 20 


Change the password of the local user "Jean Leblanc" on node 10:


% unipasswd -e "S=Leblanc/G=Jean" -n 10 


Change the local CWSOP password where only one node is configured:


% unipasswd -cwsop

 

WARNINGS

 
Modification of Password
This utility uses the "adm_moduserpassword" key-value pair in the [UTL] section of the unison.ini file to determine whether or not it can modify the user password. If this value is set to FALSE, then the user password cannot be modified by this utility. If this key-value pair does not appear in the file, the utility assumes it CAN modify the password.

 

Directory Server Warning
It is important to understand the implications of the directory server configuration for Calendar 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 Calendar 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

 

UNIREQDUMP

unireqdump - View, and optionally delete, requests in the queue of the Corporate-Wide Services (CWS) daemon.

 

SYNTAX

unireqdump [-chunk n] [-delete] [-excl filter] [-incl filter] [-item itemnum] [-remotenode node-ID] [-prompt] [-reqid ID] [-trcode code] [-n node-ID] [-p sysOpPsw]

unireqdump -v

unireqdump -h

 

DESCRIPTION

unireqdump outputs the set of requests currently in the queue of the Corporate-Wide Services daemon/service, unicwsd. The utility is also used to delete requests from the queue (using the -delete option).

By default, all requests in the queue are output. The -excl, -incl, -item, -remotenode, -reqid, and -trcode options allow you to select requests satisfying specific criteria. These options are applied successively so each of the requests in the output must meet the combined criteria for all of the options specified.

Numeric arguments can be either decimal or hexadecimal values (where hexadecimal values are prefixed by "0x"). The single exception is the ID argument to the -reqid option, where a hexadecimal value is always assumed, even if the "0x" prefix is not present.

unireqdump can only be run if the Calendar Server is up.

 

OPTIONS

-chunk
n

Transfer selected requests from unicwsd to unireqdump in chunks of at most n requests. As the chunk size is increased, fewer network transactions (i.e. communications between unicwsd and unireqdump) are required, but more memory (for buffers) is needed by both unicwsd and unireqdump. The default value is 50, and should not need to be changed.

-delete
Enable the deletion option. After each request is output, the user will be prompted to confirm whether or not they wish to delete it. The -prompt option may be used along with this option to tell unireqdump to automatically delete ALL of the requests in the output, without prompting for confirmation.

-excl
filter

Set an exclusion filter; requests matching this filter are excluded from the output. The possible filters are:
serviced

Requests already serviced

notserviced

Requests not yet serviced

unserviced

Synonym for "notserviced"

cantservice

Requests that cannot be serviced

-incl
filter

Set an inclusion filter; requests matching this filter are included in the output. The possible filters are listed under the -excl option.

-item
itemnum

Select only requests matching the specified item number. itemnum is the numeric ID of the item; it can be obtained by using a client to log onto the Calendar Server as the item, and then displaying the 'About Connection' box.

-n
node-ID

Specify the node from which the request originated. Required if more than one node exists on the server running unireqdump. The SYSOP password unireqdump requires is the one for this node.

-p
sysOpPsw

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

-prompt
Used with the -delete option to tell unireqdump to automatically delete all of the requests in the output, without prompting for confirmation. Use this option with care!

-remotenode
node-ID

Select only requests destined for the specified remote node.

-reqid
ID

Select the request with the specified ID. ID is a hexadecimal value (it is not necessary to prefix the value with "0x", though doing so causes no harm).

-trcode
code

Select requests with the specified transaction code. The transaction code may be expressed numerically (the numeric values are available in the documentation for the calendar programming interface), or as one of the following strings:


agendaget


attendadd


echo


eventattend


eventcreated 


eventdeleted


eventmodified


foreignerdeleted


instanceadded


instancemodified


itemdeleted


itemmodified


mailmessagepost 


nodeitemsget


notifynewevent 


notifynewinstance


securityadd


securitydeleted


securitymodified

-v
Print the current version number of unireqdump.

-h
Print a usage message explaining how to run unireqdump.

 

EXAMPLES


Select all requests in the queue which originate in node 10:


unireqdump -n 10 -p sysOpPsw


Output all requests in the queue which originate in node 10, and interactively prompt for confirmation to delete each one:


unireqdump -delete -n 10 -p sysOpPsw


Output all requests in the queue except those already serviced (a single node exists on this server so the -n option is unnecessary):


unireqdump -excl serviced -p sysOpPsw


Output all unserviced requests with the "eventattend" transaction code, originating in node 10 and destined for the remote node 20, and interactively prompt for confirmation to delete each one:

unireqdump -delete -excl serviced -remotenode 20 -trcode eventattend -n 10 -p sysOpPsw

 

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

 

UNIRES

unires - A utility to list, add, or delete Calendar resources, or to modify the information associated with them.

 

SYNTAX

 
Listings
unires -ls [res] [-format format] -n node-ID [-p sysOpPsw]

unires -format format -n node-ID [-p sysOpPsw]

 

Addition
unires -add res [-s sections] -n node-ID [-p sysOpPsw]

 

Deletion
unires -del res [-y] -n node-ID [-p sysOpPsw]

unires -desdel res -n node-ID [-p sysOpPsw]

unires -grpdel res -n node-ID [-p sysOpPsw]

 

Modification
unires -mod res -s sections | -m modifier -n node-ID [-p sysOpPsw]

 

Multiple additions, deletions, modifications
unires -ex filename [-s sections] [-k] -n node-ID [-p sysOpPsw]

 

Other
unires -s [sections] -n node-ID [-p sysOpPsw]

unires -info

unires -v

unires -h

 

DESCRIPTION

unires is used to list, add, or delete Calendar resources, and to modify the information associated with them. Resources are identified by their names so each must be unique. Details on how to specify the res argument are given in the FORMAT OF THE res ARGUMENT section below. Note that the -ls, -add, -del, and -mod options are all mutually exclusive.

The information associated with a resource is a combination of the key-value pairs described in the FORMAT OF THE res ARGUMENT below and that contained in the resource.ini file (which includes the resource preferences, security, personal group, admin group membership, and the list of users permitted to work as a designate for the resource).

uniuser is the complementary utility for users.

unires can only be run if the Calendar Server is up.

 

OPTIONS

-add
res

Create a new resource. If the resource already exists, an error is reported. The information associated with the new resource is a combination of what is specified in the res argument, and the default values contained in the GEN section of the resource.ini file. The -s sections option may be used to apply default values from particular sections of the resource.ini file. If more than one resource is to be created, the -ex option must be used.

The DID (Directory ID) must be specified in the res argument.

See EXAMPLES.

-del
res

Delete the specified resource. unires will prompt for confirmation before actually performing the deletion unless the -y option is used. If more than one resource is to be deleted, the -ex option must be used.

-desdel
res

Delete the list of designates for the specified resource. If more than one resource matches res, the command will fail.

-edit
This option exists only under UNIX. It allows you to first output the list of existing Calendar resources to a file, then edit the file to make desired modifications, and finally input the changes back into the node. The following sequence of commands is performed:


% unires -ls -n node-ID > file


% vi file


% unires -ex file -n node-ID


% rm file

-ex
filename

Perform the additions, deletions and/or modifications specified in filename. Each line of the file must begin with one of the characters '.', '#', 'A', 'a', 'D', 'd', 'M', 'm', 'S' or 's'. This initial character specifies the action to take, as follows:

`.' or `#' | the line is ignored

`A' or `a' | the resource is added

`D' or `d' | the resource is deleted

`M' or `m' | the resource is modified.

'S' or 's' | the resource settings are updated from resource.ini

The initial character must be followed by a space and a resource specification. The DID must be specified in the resource specification and can be followed by data in X.400 format. In the case of a modification, the ID for the resource must be supplied; it is used to identify the resource, while the other key-value pairs specified along with it are applied as the modifications. See EXAMPLES.

For each deletion specified in the file, unires will prompt for confirmation before performing the deletion. The -y option may be used to automatically provide confirmation.

One way to create this file is to save the output of unires -ls to a file. This can then be edited and input to unires -ex.

The -s sections option may be used with -ex to set the corresponding resource information to the default values contained in the specified sections of the resource.ini file.

Note that the ability to modify the name of a resource (the R key) depends on the directory server.

-format
format

This option is used to select resource information fields and customize the format of the output. The -info option lists the parameters that can be used to specify the customized format. These are also listed in the FORMAT OF THE res ARGUMENT section below. If this option is not used, all resource information fields are output, and a default presentation is used. See EXAMPLES.

-grpdel
res

Delete the specified resource from all admin groups. A single resource must match res or the command will fail.

-info
List the format parameters used with the -format option.

-k
Used with the -ex option to force unires to process all lines in the file even if it encounters an error. Errors are sent to standard output; file redirection may be used to capture these to a file.

-ls
[res]

If a resource is specified, -ls lists that resource (in the specified node). Each output line contains a period (`.'), a space, the resource description, and the ID of the resource. If no resource is specified, all resources in the node are listed. The -format option can be used with -ls to configure the presentation of the output (see EXAMPLES).

-m
modifier

Specify a modification to be made to the resource information. The modifier is a string of the same form as the res argument with the following exceptions: the ID key may NOT be specified, and the PSW key MAY be specified.

-mod
res

Modify the information associated with the specified resource. This option is used with either the -s sections or the -m modifier option. When used with the -s sections option, it sets the corresponding information for the resource to the values contained in the specified sections of the resource.ini file. When used with the -m modifier option, modifications are made to the key-value pairs listed in the FORMAT OF THE res ARGUMENT. The ability to modify the name of a resource (the R key) may depend on the directory server.

-n
node-ID

Specify the node.

-p
sysOpPsw

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

-s
[sections]

Evaluate all or some of the contents of the resource.ini file and output information from it to standard output. By default, all sections of the resource.ini file are evaluated, and all section names along with their respective "info" key-value pairs are listed.

The sections argument restricts the evaluation to only the specified sections. In this case all key-value pairs of the specified sections are output, along with any errors. The sections argument is a list of one or more section names, each separated by a forward slash (e.g. "GEN/GR1/GR2" specifies the sections GEN, GR1 and GR2). Evaluation is done from right to left. Thus, in the above example, GR2 would be evaluated first, GR1 second, and GEN last. Where the same key appears in more than one section, the value of the first instance evaluated takes precedence.

-y
Used with the -del and -ex options to auto-confirm the deletion(s).

-v
Print the current version number of unires.

-h
Print a usage message explaining how to run unires.

 

FORMATS

FORMAT OF THE res ARGUMENT

The res 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/G=James\/Jim".

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 res argument, all other key-value pairs specified along with it are ignored. Also note that the PSW key may not be specified in the res argument.

The format parameters listed in the third column below are used with the -format option to configure the presentation of a listing (see EXAMPLES).

Table G.10 Format

Key

Field

Parameter

R

Resource name

%R

N

Resource number

%N

CA

Capacity

%CA

S

Contact's surname

%S

G

Contact's given name

%G

ID

Identifier

%ID

LOC

Location

%LOC

PHONE

Phone number

%PHONE

EXT

Phone extension

%EXT

FAX

Fax phone number

%FAX

PSW

Password

(maximum of 15 characters)

%pwd

 

EXAMPLES


 
LISTINGS
List all resources in node 12 with "HPLaser" in their name:


% unires -ls "R=HPLaser*" -n 12

Enter SysOp password:


. R=HPLASER dorian/S=Wilde/G=Oscar/ID=438


. R=HPLASER sula/S=Morrison/G=Toni/ID=512

List all resources in node 12 with "HPLaser" in their name; output the resource name, the name and surname of the contact person, and separate each field by a colon:


% unires -ls "R=HPLaser*" -format "%r Contact: %g %s" -n 12


Enter SysOp password:


HPLASER dorian Contact: Oscar Wilde


HPLASER sula Contact: Toni Morrison

List all resources in node 12; output the resource name, the name and surname of the contact person, and separate each field by a colon:


% unires -format "%r: %g %s" -n 12

Enter SysOp password:


HPLASER dorian: Oscar Wilde


HPLASER sula: Toni Morrison


RedRoom: Jeannette Winterson


BlueRoom: James Thurber


Apple Laptop: Audre Lorde


SGI Indy: Milan Kundera


Olivetti Typewriter: Dashiell Hammett


 
ADDITION
Add the oak-panelled conference room to node 12:


% unires -add "DID=uid=oakroom,o=Acme,c=US" -n 12 

 
DELETION
Delete the resource "Olivetti Typewriter" from node 12:


% unires -del "R=Olivetti Typewriter" -n 12

 
MODIFICATION
Modify the capacity of the oak-panelled conference room in node 12 to "15":


% unires -mod "R=oakroom" -m "CA=15" -n 12


 
MULTIPLE ADDITIONS, DELETIONS, MODIFICATIONS
Multiple additions, deletions, modifications are done using the -ex option. In this example two new resources will be added (a BetaCam and a VCR; the contact for the BetaCam will be specified at the same time as the add is being done), the capacity of an existing resource will be modified, and an existing resource will be deleted.

Create the file:


% vi multiple.dat


% cat multiple.dat


A DID=uid=betacam,o=Acme,c=US/S=Fellini/G=Fred


A DID=uid=vcr1,o=Acme,c=US


M R=RedRoom/CA=25/ID=441


D R=BlueRoom

Note that in the case of the modification, the resource is the one which has ID=441; the capacity of the resource will be modified to "25".

Input the file to unires:


% unires -ex multiple.dat -n 12

Enter SYSOP password:


unires: added "uid=betacam,o=Acme,c=US"


unires: added "uid=vcr1,o=Acme,c=US"


unires: modified "RedRoom"


unires: deleted "BlueRoom"

 

FILES


unires.ini

This file specifies possible Calendar resource configurations. See /users/unison/man/man4/unires.ini(4) for details.

 

WARNINGS

 
Directory Server Warning
It is important to understand the implications of the directory server configuration for Calendar 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 Calendar utility is reading from a consumer directory server that has not yet been synchronized with its supplier.

 

Modification of Key-Value Pairs
This utility uses the "adm_modres<field>" key-value pairs in the [UTL] section of the unison.ini file to determine whether or not it can modify the corresponding resource key-value pairs. For example, if "adm_modrescapacity" is set to FALSE, then the value associated with the CA key cannot be modified by this utility.

If no corresponding "adm_modres<field>" for a particular key appears in the file, the utility assumes it CAN modify it.

 

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

 

SEE ALSO

unires.ini explains the format of the resource.ini file; uniuser uniuseris the complementary utility for users

 

UNIRMOLD

unirmold - A utility to remove old events and tasks from calendars in a Calendar database.

 

SYNTAX

unirmold [user] [-event | -task] [-n numOfDays] [-y] node-ID [-p sysOpPsw]

unirmold -res [-n numOfDays] [-y] node-ID [-p sysOpPsw]

unirmold -v

unirmold -h

 

DESCRIPTION

unirmold removes events and tasks that are more than a specified number of days old from calendars in a Calendar database.

By default, unirmold deletes all tasks and events from user calendars, and all events from resource calendars. The -res option restricts the deletion to all events in resource calendars. The user argument restricts the deletion to all events and tasks in the calendars of specified users. For details on how to specify user, see FORMAT OF THE user ARGUMENT below.

unirmold can only be run if the Calendar Server is up.

 

OPTIONS

-event
Delete only old events. By default both events and tasks are deleted from the user calendar .

-n
numOfDays

Delete events and tasks that are more than numOfDays days old from the calendar . The default value is 90 days; the minimum value allowed is 30 days.

-p
sysOpPsw

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

-res
Remove all events in resource calendars only.

-task
Delete only old tasks from the user calendar . By default both events and tasks are deleted.

-y
Eliminate prompting for confirmation of any deletions.

-v
Print the current version number of unirmold.

-h
Print a usage message explaining how to run unirmold.

 

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.11

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

Delete all events more than 30 days old from the calendar of the user with surname "Wembley" in node 10:


% unirmold "s=wembley" -event -n 30 10

Delete all events more than 30 days old from all resource calendars in the node 10:


% unirmold -res -n 30 10

 

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

 

UNIRNSYNCH

unirnsynch - A utility to propagate deletions in the local information of one node to another node in the network.

 

SYNTAX

unirnsynch -rn node-ID [-rhost hostname] [-rp remote-sysop-password] -n node-ID [-host hostname] [-p sysop-password]

unirnsynch -v

unirnsynch -h

 

DESCRIPTION

unirnsynch is used to propagate deletions in the local information of one node to another node in the network. Each node in a node network contains both local information and remote node information, where:

local information is a list of the users and resources belonging to that node

remote node information is a list of the users and resources belonging to each of the other nodes in the node network.

The remote node information of a given node is constructed from the local information of each of the other nodes in the node network.

Changes to the local information of a node are normally automatically propagated to the remote node information of all other nodes in the network. However, if for any reason discrepancies do occur, the remote node information can be updated using unirnsynch and/or uninode. uninode (using the -apply option) may be used to add missing entries while unirnsynch is used to delete entries which no longer exist in the local information.

uninode -cws all may be used to determine whether or not discrepancies exist (see the IMPORT-DIR field of the output).

The Calendar Server must be up to run unirnsynch.

 

OPTIONS

-host
hostname

Specify the host where the node that has had deletions to local information resides.

-n
node-ID

Specify the node-ID of the node that has had deletions to its local information.

-p
sysop-password

Provide the SYSOP password of the node that has had deletions to its local information.

-rhost
hostname

Specify the host where the node that is to have its remote node information updated resides. Default is the local host.

-rn
node-ID

Specify the node-ID of the node that is to have its remote node information updated.

-rp
remote-sysop-password

Provide the SYSOP password of the node that is to have its remote node information updated.

-v
Print the current version number of unirnsynch.

-h
Print a usage message explaining how to run unirnsynch.

 

EXAMPLES

Propagate deletions to entries in node 30 on host "pepper" to the remote node information of node 20 on host "salt":


% unirnsynch -rn 20 -rhost salt -rp <remote-sysop-password> -n 30 -host pepper -p <sysop-password>

 

EXIT STATUS

Exit values are:

0 Success

1 Usage error

2 System error

 

SEE ALSO


uninode

 

UNISIZEOF

unisizeof - a utility to compute the size of the Calendar Server installation.

 

SYNTAX

unisizeof [-db | -n node-ID]

unisizeof -v

unisizeof -h

 

DESCRIPTION

unisizeof computes the size of a Calendar Server installation. The default action is to determine the size of the contents of the /users/unison directory, including all database nodes and the Calendar Server (executables, *.ini files, etc.). The -db and -n options can be used to determine the size of a single database node.

unisizeof can be run if the Calendar Server is up or down.

 

OPTIONS

-db
Compute the size of the default database, (i.e. the node for which "name = N1" in the /users/unison/misc/unison.ini file).

-n
nodeid

Compute the database size of the specified node.

-v
Print the version number of unisizeof.

-h
Print a usage message explaining how to run unisizeof.

 

EXAMPLES


Determine the size of the Calendar Server installation:


% unisizeof


unisizeof: total size of the calendar server 44216K


Determine the size of the default node database:


% unisizeof -db


unisizeof: database size for nodeid [10] is 940K


Determine the size of the database for node 10:


% unisizeof -n 10


unisizeof: database size for nodeid [10] is 760K

 

FILES

/users/unison/misc/unison.ini

Used to determine the default node (i.e. the node for which "name = N1" in this file) when unisizeof is used with the -db option.

 

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

 

UNISLICE

unislice - A utility for extracting information from Calendar Server log files.

 

SYNTAX

unislice logFile(s) [-s starttime] [-e endtime]

unislice -v

unislice -h

 

DESCRIPTION

unislice extracts information from the specified log file(s) and sends it to standard output. This utility is used by unisnapshot to gather information contained in log files. The logFile(s) argument is a list of one or more log files; each must be a fully-specified pathname separated from the others by a space.

unislice can be run whether the Calendar Server is up or down.

 

OPTIONS

-e
endtime

Set an end time. Only log file information with time stamps prior to this time will be included in the output. Thus, if an end time of January 1 is set, no information from the 1st of January will be included. See FORMAT OF starttime, endtime ARGUMENTS below for details on how to specify these arguments.

-s
starttime

Set a start time. Only log file information with time stamps on or after this time will be included in the output. See FORMAT OF starttime, endtime ARGUMENTS below for details on how to specify these arguments.

-v
Print the current version number of unislice.

-h
Print a usage message explaining how to run unislice.

 

FORMATS

 
FORMAT OF starttime, endtime ARGUMENTS
Each of these arguments can take one of the forms:

"day month [year] [time]"

"day month [time] [year]"

"month day [year] [time]"

"month day [time] [year]"

where

day

is a number between 1 and 31;

month

is either the full name of the month or one of the following abbreviations: jan, feb, mar, apr, aug, sep, sept, oct, nov, dec (month is case-insensitive);

year

is specified using four digits; and

time

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

 

EXAMPLES

Output the full contents of the uniengd log file:


% unislice /users/unison/log/eng.log


Output all uniengd messages logged on February 7th 1995:


% unislice /users/unison/log/eng.log -s 7 feb 1995 -e feb 8 1995


Output all eng.log messages after 1 PM, July 7:


% unislice /users/unison/log/eng.log -s july 7 13:00


Output all eng.log messages before 9 AM, October 15, 1995:


% unislice /users/unison/log/eng.log -e oct 15 9:00 1995 


Output all eng.log messages logged in a 45-second period starting at 10 AM, January 30:


% unislice /users/unison/log/eng.log -s jan 30 10:00:00 -e jan 30 10:00:46

 

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

 

UNISNAPSHOT

unisnapshot - A utility to compile Calendar Server information for diagnostic purposes.

 

SYNTAX

unisnapshot [date] [-nolog]

unisnapshot [-s starttime] [-e endtime] [-nolog]

unisnapshot -v

unisnapshot -h

 

DESCRIPTION

unisnapshot assembles information used by support staff to diagnose most Calendar Server problems. Should a problem ever arise, only this file need be supplied to support staff.

Output is written to the snapshot.log file in the /users/unison/log directory. unisnapshot can be restricted to include log file information logged during a single day, or during a specified time period. This reduces the amount of irrelevant information in the output.

See FORMAT OF THE date ARGUMENT below for details on how to specify date.

unisnapshot can be run whether the Calendar Server is up or down.

 

OPTIONS

-e
endtime

Set an end time. Only log file information with time stamps prior to this time will be included in the output of unisnapshot. Thus, if an end time of January 1 is set, no information from the 1st of January will be included. endtime is a string of the same format as date.

-nolog
Prevents unisnapshot from including log file information in its output.

-s
starttime

Sets a start time. Only log file information with time stamps on or after this time will be included in the output of unisnapshot. starttime is a string of the same format as date.

-v
Print the current version number of unisnapshot.

-h
Print a usage message explaining how to run unisnapshot.

 

FORMATS

 
FORMAT OF THE date ARGUMENT
The date argument takes one of the forms:

"day month [year] [time]"

"day month [time] [year]"

"month day [year] [time]"

"month day [time] [year]"

where

day

is a number between 1 and 31;

month

is either the full name of the month or one of the following abbreviations: jan, feb, mar, apr, aug, sep, sept, oct, nov, dec (month is case-insensitive);

year

is specified using four digits; and

time

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

If no year is specified, the default is the current year.

 

EXAMPLES


Assemble all information:


% unisnapshot


Assemble all information except that contained in the log files:


% unisnapshot -nolog


Assemble all information about February 7th 1998:


% unisnapshot 7 feb 1998


Assemble all information about the period after 1 PM, July 7:


% unisnapshot -s july 7 13:00


Assemble all information about the period before 9 AM, October 15, 1998:


% unisnapshot -e oct 15 9:00 1998

Assemble all information about the 45-second period starting at 10 AM, January 30:


% unisnapshot -s jan 30 10:00:00 -e jan 30 10:00:46

 

FILES


/users/unison/log/snapshot.log

This is the file where unisnapshot writes its output. If a previous file exists at the time unisnapshot is invoked, it will be overwritten.

 

EXIT STATUS


Exit values are:


0 Success


1 Failure


2 Usage error


3 User interrupt

 

WARNING

unisnapshot may take some time to complete.

 

UNISNCDUMP

 

NAME

unisncdump - Retrieve statistics from the Calendar Server's unisncd daemon/service.

 

SYNTAX

unisncdump [-host hostname] [-n node-ID] [-p sysOpPsw] [-screen]

unisncdump -v

unisncdump -h

 

DESCRIPTION

unisncdump retrieves statistics from the unisncd daemon and writes them to the /users/unison/log/unisncdump.log file. Included are the number of configured and available connections for each service.

 

OPTIONS

-host
hostname

Specify the host on which the unisncd is located.

-n
node-ID

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

-p
sysOpPsw

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

-screen
Display the output on the screen instead of writing it to the log file.

-v
Print the version number of unisncdump.

-h
Print a usage message explaining how to run unisncdump.

 

EXAMPLES


Dump the unisncd statistics for node 11 on host oregano to the screen (the node network contains two nodes: 11 and 12).


% unisncdump -screen -n 11 -host oregano


Enter SysOp password:


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


DATE = Mon Sep 28 14:50:08 1998


PID = 1314


Host = oregano


Service = unieng,12


Transactions: Request = 0


Check Request = 0


Cancel Request = 0


Free = 0




Connections: Configured = 2


Available = 2


Granted = 0


Request queue = 0


Failed = 0


Last failure = 0


Next attempt = 0


Attempt timeout = 0


Max wait before retry = 3840

 

FILES


/users/unison/log/unisncdump.log

The file unisncdump writes to by default.

 

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

 

UNISTART

unistart - A utility to start up the Calendar Server.

 

SYNTAX

unistart [-bypass] [-nocws | -cws] [-nosnc | -snc] [-das ][-r] [-w secs] [-c] [-n] [-s]

unistart -v

unistart -h

 

DESCRIPTION

unistart starts the Calendar Server. The default action is to start all 5 Calendar Server daemons/services: uniengd, unilckd, unicwsd, unisncd and unidasd.

Note: -bypass, -c, -cws, -das, -n, -nosnc, -s, -snc and -w are all UNIX-only options.

 

OPTIONS

-bypass
By default, unicheck is run before the daemons/services are started. This option causes unistart to execute without running unicheck.

-c
Same as -cws. Included for backwards compatibility.

-cws
Starts only unicwsd, the corporate-wide services daemon/service, provided that the unilckd and uniengd daemons/services are up.

-das
Starts only unidasd, provided that the other daemons/services are up.

-n
Same as -nocws. Included for backwards compatibility.

-nocws
By default, unicwsd is started if the "enable" keyword in the [CWS] section of the unison.ini file is set to "TRUE". This option overrides this setting and prevents unicwsd from being started. If this option is used under NT, unicwsd can be brought up later by simply running unistart again without this option.

-nosnc
By default, unisncd is started if the "enable" keyword in the [SNC] section of the unison.ini file is set to "TRUE". This option overrides this setting and prevents unisncd from being started.

-r
Removes the log files act.log, cws.log, das.log, dbv.log, eng.log, lck.log, and snc.log from the /users/unison/log directory. Note that new log files are immediately created for cws.log, das.log, eng.log, lck.log, and snc.log.

-s
Same as -w. Included for backwards compatibility.

-snc
Starts only unisncd, provided that the unilckd and uniengd daemons/services are up.

-w
secs

When a process is started there is a short delay before a ps(1) command will acknowledge the existence of the process. It is therefore appropriate to sleep until a ps(1) will verify that the process is running. The default period is 2 seconds. This option can be used to override this default; the secs parameter specifies the number of seconds to sleep.

-v
Print the current version number of unistart.

-h
Print a usage message explaining how to run unistart.

 

EXAMPLES

Start the Calendar Server without running unicheck; remove the old log files at the same time:


% unistart -bypass -r


Start the Calendar Server; do not run the Corporate-Wide Services daemon/service:


% unistart -nocws

Start the Corporate-Wide Services daemon/service at some later point:


% unistart -cws

 

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

 

UNISTAT

unistat - A utility to produce a report on a Calendar node.

 

SYNTAX

UNIX
unistat [-l | -p] [-s | -g] [-m] [-sn] node-ID

unistat -v

unistat -h

NT
unistat [-l | -p] [-s | -g] [-m] [-sn] -n node-ID

unistat -v

unistat -h

 

DESCRIPTION

unistat produces a report for the specified node and sends it to standard output. The user will be prompted to supply the SYSOP password for the node. The following information is included in the report:


The Calendar Server must be up for unistat to run.

Note
The -l and -p options are mutually exclusive, as are the -s and -g options.

 

OPTIONS

-g
Print the list of public groups.

-l
Print the report in 128 characters per line mode. If this option is not used, the default is 80 characters per line.

-n
node-ID

Generate statistics for the specified node.

Note
The node-ID must be introduced with -n for NT, but not for UNIX.

-m
Print the members of the public groups.

-p
Create a PostScript report. File redirection should be used to capture this to a file.

-s
Print database statistics.

-sn
Print serial numbers.

-v
Print the current version number of unistat.

-h
Print a usage message explaining how to run unistat.

 

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

 

UNISTATS

unistats - A utility to display summary statistics of the data in a Calendar stats file.

 

SYNTAX

unistats [-s starttime] [-e endtime] [-f filename] [-server version] [-client entry] [-n node-ID] [-user name | -res resource | -ruser] [-all]

unistats -v

unistats -h

 

DESCRIPTION

A utility to display summary statistics of the data in a Calendar Server stats file. By default the /users/unison/log/unistats.log file is used. Filters (i.e. the -server, -client, -n, -user, -res, -ruser options) may be used to compile statistics from a subset of the information in the stats file.

The default output is a summary for each unique Calendar client. Different versions of the same client are treated as separate clients, and a summary is output for each. The -all option will display a summary incorporating all clients. All output is displayed in 122-character-wide format. A complete list of all output fields is given in the OUTPUT section below.

 

OPTIONS

-all
Display summary incorporating all interface clients.

-client
entry

Display summary statistics on a specific Calendar client. entry is the name and version of that client. See FORMAT OF THE entry, name, AND resource ARGUMENTS below for details on how to specify entry.

-e
endtime

Specify end time for statistics. If this option is not used, the default is the current time of the current day of the current month of the current year. See TIME ARGUMENT FORMAT below for details on how to specify endtime.

-f
filename

Specify the file to be used. This file must be in the same format as the default file used by unistats, /users/unison/log/unistats.log. This option is commonly used where a file has been created from an existing unistats.log file and will be supplied as input to unistats.

-n
node-ID

Display summary statistics on a specific node. node-ID is a Calendar Server node-ID.

-res
resource

Display summary statistics on a specific resource. resource is the name and/or identification number of the resource. See FORMAT OF THE entry, name, AND resource ARGUMENTS for details on how to specify resource.

-ruser
Display summary statistics on all reserved users (ex.: SYSOP).

-s
starttime

Specify start time for statistics. If this option is not used, the default start time is "Jan 1 1991 00:00:00". See TIME ARGUMENT FORMAT below for details on how to specify starttime.

-server
version

Display summary statistics on a specific Calendar Server. version is the version number of that server (e.g. A.02.80).

-user
name

Display summary statistics on a specific user. name is some combination of the surname, given name, and organizational units of the user. See FORMAT OF THE entry, name, AND resource ARGUMENTS below for details on how to specify name.

-v
Print the current version number of unistats.

-h
Print a usage message explaining how to run unistats.

 

FORMATS

 
FORMAT OF THE entry, name, AND resource ARGUMENTS
Each of the arguments entry, name, and resource 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.12

OPTION

KEY

MEANING OF THE KEY

-client

N

Client Name

-client

V

Client Version

-user

S

Surname

-user

G

Given name

-user

OU1

Organizational Unit 1

-user

OU2

Organizational Unit 2

-user

OU3

Organizational Unit 3

-user

OU4

Organizational Unit 4

-res

R

Resource Name

-res

ID

Resource ID

Some example specifications are:

-client "N=Windows Calendar - 32 Bit/V=version 4.1"

-user "S=Carter/G=Angela"

-res "R=laptop/ID=328"

 

TIME ARGUMENT FORMAT
The starttime and endtime arguments may 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 (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 a number 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. The following are all valid examples:

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. E.g. if the current date and time is March 12 1998 10:41: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

 

OUTPUT

All output fields displayed by unistats are explained here, in the order in which they will be seen:

Table G.13 unistats output fields

CLIENT fields

CLIENT

Name and Version of the calendar client

SYSTEM

Name of the host operating system of the Calendar Server

SERVER

Calendar Server version

SIGNONS

Number of records used for the summary statistics of this client

SESSION AVERAGE

Average session time

CPU TOTAL

Total cpu time for all SIGNONS

CPU MEDIAN

Median cpu time

CPU AVERAGE

Average cpu time; "usr" stands for user and "sys" stands for system

NETWORK TOTAL

Total number of bytes exchanged between the client and calendar server host

NETWORK MEDIAN

Median of NETWORK TOTAL

NETWORK AVERAGE

Average of NETWORK TOTAL; "snd" stands for send and "rcv" stands for receive

CALLS

Total number of function calls

FUNCTION NAME fields:

CALL (%)

Percentage of all calls for this function

TIME (W)

Greatest user response time for function to process one call

TIME (A)

Average user response time for processing this function

CPU (%)

Percentage of all cpu time taken by this function

CPU (%U)

Percentage (of CPU(%) above) taken by the user

CPU (%S)

Percentage (of CPU(%) above), taken by the system

CPU (W)

Greatest cpu time taken by this function to process one call

CPU (A)

Average cpu time taken by this function to process one call

NET (%)

Percentage of all network i/o used by this function

NET (%S)

Percentage (of NET(%) above) of data sent

NET (%R)

Percentage (of NET(%) above) of data received

 

EXAMPLES

Get the summary statistics of the data from the default file (/users/unison/log/unistats.log):


% unistats

Get the summary statistics of all "window" clients from the file myfile.log:


% unistats -client "N=window*" -f myfile.log 

Get the summary statistics of user "Don Martin" from server "A.02.80" only:


% unistats -user "s=martin/g=don" -server "A.02.80"

Get summary statistics of the resource "projector" from "motif" clients only:


% unistats -res "R=projector/ID=901" -client "N=Motif"

Get summary statistics for July 19:


% unistats -s jul 19 -e jul 19

Get summary statistics for all users of all clients:


% unistats -all -user "S=*"

Get summary statistics of all reserved users in node 70:


% unistats -ruser -n 70

 

FILES


/users/unison/log/unistats.log

By default, unistats obtains its information from this file. The "stats" parameter in the [ENG] section of the unison.ini file must be set to "TRUE" to enable logging to this file.

 

EXIT STATUS

Exit values are:

0 Success

1 usage error

2 system error

 

UNISTATUS

unistatus - A utility to determine the status of the Calendar Server.

 

SYNTAX

unistatus [-f] [-d] [-s] [-q] [-n] [-e]

unistatus -v

unistatus -h

 

DESCRIPTION

By default unistatus determines which of the Calendar Server daemons/services are running and prints their current status to standard output. The -d, -f, -n, -q, and -s options do not currently function under NT.

unistatus will run whether the Calendar Server is up or down.

 

OPTIONS

-d
Under UNIX, this produces a report for daemon processes only.

-e
This option alters the default exit status values as described in EXIT STATUS below.

-f
Under UNIX, this option produces an extensive ps-like report, taking into account the distinction between daemons and servers. The Calendar Server may have the following daemons and servers running:
uniengd daemon

always running

unilckd daemon

always running

uniengd server

one for each signed-on user

unicwsd daemon

runs if corporate-wide services are enabled

unisncd daemon

always running

unidasd daemons and servers

always running

-n
Suppress the printing of the messages "CORPORATE-WIDE SERVICES are down" or "REMOTE-NODE SERVICES are down" when the unilckd and uniengd daemons/services are running but the unicwsd or unisncd daemons/services are not.

-q
Force the quiet version of the command which does not produce the usual status message.

-s
Produce a report for server processes (UNIX only).

-v
Print the current version number of unistatus.

-h
Print a usage message explaining how to run unistatus.

 

EXAMPLES

Run unistatus under NT.


% unistatus


unistatus: unicwsd is running


unistatus: unisncd is running


unistatus: unidasd is running


unistatus: uniengd is running


unistatus: unilckd is running


Produce a full report on all Calendar daemons and servers on a UNIX system.

% unistatus -f


UID


PID


PPID


STIME


TIME


COMMAND


CLASS


unison


23846


1


Sep 25


2:02


unilckd


daemon


unison


23851


1


Sep 25


0:00


uniengd


daemon


unison


23927


1


Sep 25


0:00


unidasd


daemon


unison


24007


1


Sep 25


0:00


unisncd


daemon


unison


24014


1


Sep 25


0:28


unicwsd


daemon


unison


24117


23851


Sep 25


0:18


uniengd


server


unison


24120


23851


Sep 25


0:16


uniengd


server


unison


24123


23851


Sep 25


0:16


uniengd


server


unison


24132


23851


Sep 25


0:00


uniengd


server


unison


24153


23851


Sep 25


0:00


uniengd


server


unison


24111


23927


Sep 25


0:00


unidasd


server


unison


24129


23927


Sep 25


0:00


unidasd


server


unison


24151


23927


Sep 25


0:00


unidasd


server


unison


24172


23927


Sep 25


0:00


unidasd


server


unison


24178


23927


Sep 25


0:00


unidasd


server


unistatus: the calendar server is up


Produce a report on Calendar Server processes under UNIX.

% unistatus -s


UID


PID


PPID


STIME


TIME


COMMAND


CLASS


unison


24117


23851


Sep 25


0:18


uniengd


server


unison


24120


23851


Sep 25


0:16


uniengd


server


unison


24123


23851


Sep 25


0:16


uniengd


server


unison


24132


23851


Sep 25


0:00


uniengd


server


unison


24153


23851


Sep 25


0:00


uniengd


server


unison


24111


23927


Sep 25


0:00


unidasd


server


unison


24129


23927


Sep 25


0:00


unidasd


server


unison


24151


23927


Sep 25


0:00


unidasd


server


unison


24172


23927


Sep 25


0:00


unidasd


server


unison


24178


23927


Sep 25


0:00


unidasd


server


unistatus: the calendar server is up


Produce a report on Calendar daemon processes under UNIX.

% unistatus -d


UID


PID


PPID


STIME


TIME


COMMAND


CLASS


unison


23846


1


Sep 25


2:02


unilckd


daemon


unison


23851


1


Sep 25


0:00


uniengd


daemon


unison


23927


1


Sep 25


0:00


unidasd


daemon


unison


24007


1


Sep 25


0:00


unisncd


daemon


unison


24014


1


Sep 25


0:28


unicwsd


daemon


unistatus: the calendar server is up

 

EXIT STATUS

The default exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

The default exit status is:

253 interrupted

254 usage error

255 failure

0 ... 127 success with the sum of the following values:

1 if any uniengd servers are running

2 if the unicws daemon is running

4 if the uniengd daemon is running

8 if the unilckd daemon is running

16 if the unisncd daemon is running

32 if the unidasd servers are running

 

UNISTOP

unistop - A utility to shut down the Calendar Server.

 

SYNTAX

unistop [-y] [-bypass] [-ser] [-cws] [-snc] [-das] [-dass] [-w secs] [-l level] [-cl level]

unistop -v

unistop -h

 

DESCRIPTION

unistop will shut down all or part of a running Calendar Server. By default, all daemons/services are shut down: unicwsd, unisncd, unidasd, uniengd, and unilckd. If any users are currently signed-on, unistop will prompt for confirmation before proceeding with the shutdown.

The -bypass, -cl, -das, -dass, -l, -ser, -snc, -w, and -y options are all UNIX-only. The -l and -cl options are mutually exclusive.

unistop can only be run if the Calendar Server is at least partially up (i.e. one or more daemons/services are running).

 

OPTIONS

-bypass
Allow unistop to execute even if another unistart or unistop process is running.

-cl
level

Allow cycling of shutdown levels from 0 up to the specified level, when the current level fails. Thus, levels 0, 1, 2, & 3 are tried until either the specified level is reached or the shutdown is successful. The user is NOT prompted for any confirmation. Warning: a shutdown at level 3 may corrupt the Calendar Server database. See the -l option for more information.

-cws
Shut down only the corporate-wide services daemon/service (unicwsd). The unilckd and uniengd daemons/services must be running for this option to succeed.

-das
Stop only the unidasd daemons and servers.

-dass
Stop only the unidasd servers.

-l level
The shutdown levels are 0, 1, 2 and 3, with the normal level (and the default) being 0. The higher the number, the more severe the shutdown. You should always begin with 0 and only in the rare event that this fails should you proceed to 1, then 2 and finally 3.

Warning
A level 3 shutdown is guaranteed to succeed but it may corrupt the Calendar database. Contact qualified support staff before performing a shutdown at this level. unistop prompts for confirmation before proceeding with a level 3 shutdown.

-ser
Shut down only the uniengd servers. The unilckd and uniengd daemons must be running for this option to succeed. Each uniengd server is associated with a signed-on Calendar user; the uniengd daemon is always present when the Calendar Server is running. If this option is not used, both uniengd daemons and servers are shut down.

-snc
Shut down only the unisncd daemon. The unilckd and uniengd daemons must be running for this option to succeed.

-w
secs

When a process is stopped there is a short delay during which the ps(1) command continues to acknowledge the existence of the process. It is therefore necessary to sleep for a short period of time until a ps will verify that the process is no longer running. The default delay is 4 seconds. This option overrides the default; the secs parameter specifies the number of seconds to sleep.

-y
By default, if there are any users signed onto the Calendar Server, a prompt is issued to confirm that a shutdown is desired. This option causes unistop to automatically proceed with the shutdown even if there are users signed on. The shutdown of each of the active uniengd servers proceeds in such a way as to ensure the integrity of the database.

-v
Print the current version number of unistop.

-h
Print a usage message explaining how to run unistop.

 

EXAMPLES


Shut down the Calendar Server.


% unistop


Shut down the Corporate-Wide Services daemon.


% unistop -cws


Shut down only the directory server daemons and servers under UNIX.


% unistop -das


Execute a level 1 shutdown under UNIX after a level 0 shutdown has failed.


% unistop -l 1

 

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

 

UNITZINFO

unitzinfo - print information about a Calendar Server time zone.

 

SYNTAX

unitzinfo [-c] [-l] [-t timezone] [-node node-ID] [-y year]

unitzinfo -v

unitzinfo -h

 

DESCRIPTION

Extracts information from the Calendar Server time zone table found in the /users/unison/misc/timezone.ini file. By default, only the information for the configured time zone and the current year used by the Calendar Server is printed in an 80-character-wide format.

unitzinfo can be run whether the Calendar Server is up or down.

 

OPTIONS

-c
List the time zone information by country. Time zones within a country are listed in sequence. The printed fields are:

Table G.14

COUNTRY

Country name

TIMEZONE

Time zone name

ST

The difference (in hours) from GMT

DST

The difference (in hours) from GMT during Daylight Savings Time (DST)

EFFECTIVE PERIOD

The period when DST is in effect

-l
Print the information in 132-character-wide ("large") output format.

-node
node-ID

Specify the node. This option causes the information for the time zone configured for the node to be output.

-t
timezone

Specify the name of the time zone to print. If timezone has the value "all", the complete list of time zones will be printed.

-y
year

Specify the year for which the time zone information will be output (e.g. to view the DST period for that year). year must be specified using four digits. The default is the current year.

-v
Print the current version number of unitzinfo.

-h
Print a usage message explaining how to run unitzinfo.

 

EXAMPLES

Display the time zone information associated with node 20:


% unitzinfo -node 20


EST5EDT Eastern Standard Time, Eastern Daylight Time


U.S.A. (Eastern), Canada (Eastern), Bahamas, 


Haiti, Turks & Caicos


Hours from GMT: -5h


Daylight Saving Time : -4h (Apr 4,1999 - Oct 30,1999)

 

FILES


/users/unison/misc/timezone.ini 

This file contains the time zone descriptions used by the Calendar Server.

 

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

 

UNIUSER

uniuser - A utility to list, add, or delete Calendar users, or to modify the information associated with them.

 

SYNTAX

 
Listings
uniuser -ls [user] [-format format] -n node-ID [-p sysOpPsw]

uniuser -format format -n node-ID [-p sysOpPsw]

 

Addition
uniuser -add user [-s sections] -n node-ID [-p sysOpPsw]

 

Deletion
uniuser -del user [-y] -n node-ID [-p sysOpPsw]

uniuser -desdel user -n node-ID [-p sysOpPsw]

uniuser -grpdel user -n node-ID [-p sysOpPsw]

 

Modification
uniuser -mod user -s sections | -m modifier -n node-ID [-p sysOpPsw]

 

Multiple additions, deletions, modifications
uniuser -ex filename [-s sections] [-k] -n node-ID [-p sysOpPsw]

uniuser -edit -n node-ID [-p sysOpPsw]

 

Other
uniuser -s [sections] -n node-ID [-p sysOpPsw]

uniuser -info

uniuser -v

uniuser -h

 

DESCRIPTION

uniuser is used to list, add, or delete Calendar users, and to modify the information associated with them. Details on how to specify the user argument are given in the FORMAT OF THE user ARGUMENT section below. Note that the -ls, -add, -del, and -mod options are all mutually exclusive.

The information associated with a Calendar user is a combination of the key-value pairs described in the FORMAT OF THE user ARGUMENT below, and that contained in the user.ini file. This includes user preferences, security, administrative rights, X.400 information, personal group, admin group membership and the list of persons permitted to work as a designate for the user.

The Calendar Server must be up to run uniuser.

unires is the complementary utility for resources.

 

OPTIONS

-add
user

Create a new Calendar user. The information associated with the new user is a combination of what is specified in the user argument and the default values contained in the [GEN] section of the user.ini file. The -s sections option may be used to apply default values only from particular sections of the user.ini file. If more than one user is added, the -ex option must be used.

The user must already exist in the directory server. The DID (Directory ID) for the user must be specified, and it must be in DN (Distinguished Name) format. This can be followed by data in X.400 format. See EXAMPLES.

-del
user

Delete the specified Calendar user. uniuser will prompt for confirmation before performing the deletion unless the -y option is used. If more than one user is to be deleted, the -ex option must used.

-desdel
user

Delete the list of designates for the specified user. If more than one user matches user, the command will fail.

-edit
This option only exists under UNIX. It allows you to first output the list of existing Calendar users to a file, then edit the file to make desired modifications, and finally to input the changes back into the node. The following sequence of commands is performed:


% uniuser -ls -n node-ID > file


% vi file


% uniuser -ex file -n node-ID


% rm file


-ex filename

Perform the additions, deletions, and/or modifications specified in the file filename. Each line of the file must begin with one of the characters '.', '#', 'A', 'a', 'D', 'd', 'M', 'm', 'S' or 's'. This initial character specifies the action to take, as follows:

`.' or `#' | the line is ignored

`A' or `a' | the user is added

`D' or `d' | the user is deleted

`M' or `m' | the user is modified

'S' or 's' | the user settings are updated from user.ini

The initial character must be followed by a space and a user specification. In the case of a modification, the ID must be specified; it alone is used to identify the user, while the other key-value pairs specified along with it are applied as the modifications. See EXAMPLES.

For each deletion specified in the file, uniuser will prompt for confirmation before performing the deletion. The -y option is used to automatically provide confirmation.

One way to create this file is to save the output of uniuser -ls to a file. This can then be edited and input to uniuser -ex.

The -s sections option may be used with -ex to set the corresponding user information to the default values contained in the specified sections of the user.ini file.

The most common way of adding many Calendar users is to first use unidssearch to output the list of all non- Calendar users to a file. This file can then be modified (if necessary), and input to uniuser using the -ex option. unidssearch outputs in the same "key=value/key=value/...." format that uniuser requires for input. See EXAMPLES.

-format
format

This option is used to select user information fields and to customize the format of the output. The -info option lists the parameters that can be used to specify the customized format. These are also listed in the FORMAT OF THE user ARGUMENT section below. If this option is not used, all user information fields are output, and a default presentation format is used. See EXAMPLES.

-grpdel
user

Delete the specified user from all admin groups. A single user must match user or the command will fail.

-info
List the format parameters used with the -format option.

-k
Used with the -ex option to force uniuser to continue processing all lines in the file even if it encounters an error. Errors are sent to standard output; file redirection may be used to capture these to a file.

-ls
[user]

If a user is specified, -ls lists that user (in the specified node). If no user is specified, all users in the node are listed. The -format option can be used with -ls to configure the presentation of the output (see EXAMPLES).

-m
modifier

Specify a modification to be made to the user information of a particular user. The modifier is a string of the same form as the user argument with the following exceptions: the ID key may NOT be specified, and the PSW key MAY be specified.

-mod
user

Modify the information associated with the specified user. This option is used with either the -s sections or the -m modifier option. When used with the -s sections option, it sets the corresponding information for the user to the values contained in the specified sections of the user.ini file. When used with the -m modifier option, modifications are made to the user's X.400 information.

-n
node-ID

Specify the node.

-p
sysOpPsw\

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

-s
[sections]

Evaluate all or some of the contents of the user.ini file and output information from it to standard output. By default, all sections of the user.ini file are evaluated, and all section names along with their respective "info" key-value pairs are listed.

The sections argument restricts the evaluation to only the specified sections. In this case all key-value pairs of the specified sections are output, along with any errors. The sections argument is a list of one or more section names, each separated by a forward slash (e.g. "GEN/GR1/GR2" specifies the sections GEN, GR1, and GR2). Evaluation is done from right to left, so in the above example, GR2 would be evaluated first, GR1 second, and GEN last. Where the same key appears in more than one section, the value of the first instance evaluated will take precedence.

-y
Used with the -del and -ex options to auto-confirm the deletion(s).

-v
Print the current version number of uniuser.

-h
Print a usage message explaining how to run uniuser.

 

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
If the ID key-value pair is specified in the user argument, all other key-value pairs specified along with it are ignored. Also note that the PSW key may not be specified in the user argument.

The format parameters listed in the third column below are used with the -format option to configure the presentation of a listing (see EXAMPLES).

Table G.15

Key

X.400 Field

Format Parameter

S

Surname

%S

G

Given name

%G

I

Initials

%I

ID

Identifier

%ID

X

Generation

%X

OU1

Organizational Unit 1

%OU1

OU2

Organizational Unit 2

%OU2

OU3

Organizational Unit 3

%OU3

OU4

Organizational Unit 4

%OU4

O

Organization

%O

C

Country

%C

A

Administration domain

%A

P

Private Domain

%P

PHONE

Phone number

%PHONE

EXT

Phone extension

%EXT

FAX

Fax phone number

%FAX

EMPL-ID

Employee number

%en

JOB-TITLE

Job title

%jt

PSW

Password (maximum of 15 characters)

%pwd

 

EXAMPLES

 
LISTINGS
List all users in node 23 whose last names begin with "W":


% uniuser -ls "s=W*" -n 23

Enter SysOp password:


. S=Whitman/G=Walt/ID=154/C=US


. S=Winterson/G=Jeannette/ID=114/C=England

List all users in node 23 whose last names begin with "W"; output only their surname and given name, separated by a colon:


% uniuser -ls "s=W*" -format "%s:%g" -n 23

Enter SysOp password:


Whitman:Walt


Winterson:Jeannette

List all users in node 23; output their surname and given name, separated by a colon:


% uniuser -format "%s:%g" -n 23

Enter SysOp password:


Brossard:Nicole


Dillard:Annie


Jansson:Tove


Kilpi:Eeva


Kundera:Milan


Lorde:Audre


Morrison:Toni


Sanchez:Sonia


Whitman:Walt


Winterson:Jeannette

 
ADDITION
Add the user "Maya Angelou" to node 24.


% uniuser -add "DID=uid=Maya Angelou, o=Acme, c=US" -n 24

 
DELETION
Delete the user "Eeva Kilpi" from node 24:


% uniuser -del "S=Kilpi/G=Eeva" -n 24

 
MODIFICATION
Modify Milan Kundera's entry to reflect recent changes to the [GEN] section of the user.ini file (Milan Kundera exists in node 23). Look at the values in the GEN section of the user.ini file and ensure they are all valid:


% uniuser -s "GEN" -n 23


StartDay = 08h00


EndDay = 18h00


TimeInc = 30


ShowSunday = FALSE


ShowSaturday = FALSE


TimeFormat = 2


RefreshFrequency = 60


DefaultReminder = 0


TimeBeforeReminder = 10


MailNotification = TRUE


OU1 = 


OU2 = 


OU3 = 


OU4 = 


O = 


C = 


A = 


P = 


TimeZone = 


ViewNormalEvent = TIME


ViewPersonalEvent = TIME


ViewConfidentialEvent = TIME


ViewNormalTask = NO


ViewPersonalTask = NO


ViewConfidentialTask = NO


CanBookMe = TRUE


Proceed with the modification:


% uniuser -mod "S=Kundera/G=Milan" -s "GEN" -n 23


Modify Milan Kundera's OU1 value to "authors":


% uniuser -mod "S=Kundera/G=Milan" -m "ou1=authors" -n 23

 
MULTIPLE ADDITIONS, DELETIONS, MODIFICATIONS
Multiple additions, deletions, and modifications are done using the -ex option. In this example, three new Calendar users will be added, one will be modified, and one will be deleted.

Output all users in the directory server who are not currently Calendar users:


% unidssearch > multiple.dat 


% cat multiple.dat


A DID=uid=Italo Calvino,o=Acme, c=US


A DID=uid=Herman Hesse,o=Acme, c=US


A DID=uid=Doris Lessing,o=Acme, c=US


A DID=uid=Anja Kauranen,o=Acme, c=US

Modify the data in the file: change the country for Italo Calvino to Italy; add the modification to Walt Whitman's first name; add the deletion of Nicole Brossard.


% vi multiple.dat


% cat multiple.dat


A DID=uid=Italo Calvino,o=Acme, c=US/C=Italy


A DID=uid=Herman Hesse,o=Acme, c=US


A DID=uid=Doris Lessing,o=Acme, c=US


A DID=Anja Kauranen,o=Acme, c=US


M G=Walter/ID=154


D G=Nicole/S=Brossard

In the case of the modification, the ID will be used to find the user, and the given name will be modified to "Walter".

Input the file to uniuser:


% uniuser -ex multiple.dat 23


Enter SYSOP password:


uniuser: added "uid=Italo Calvino,o=Acme, c=US"


uniuser: added "uid=Herman Hesse,o=Acme, c=US"


uniuser: added "uid=Doris Lessing,o=Acme, c=US"


uniuser: added "uid=Anja Kauranen,o=Acme, c=US"


uniuser: modified "Whitman,Walt"


uniuser: deleted "Brossard,Nicole"

 

FILES


user.ini

The /users/unison/misc/user.ini file specifies possible Calendar user configurations. See uniuser.ini for details.

 

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

 

WARNINGS

 
Modification of Key-Value Pairs
This utility uses the "adm_moduser<field>" key-value pairs in the [UTL] section of the unison.ini file to determine whether or not it can modify the corresponding key-value pairs for the user. For example, if "adm_modusersurname" is set to FALSE, then the value associated with the S key cannot be modified by this utility.

If no corresponding "adm_moduser<field>" for a particular key appears in the file, the utility assumes it CAN modify it.

 

Directory Server Warning
It is important to understand the implications of the directory server configuration for Calendar 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 Calendar utility is reading from a consumer directory server that has not yet been synchronized with its supplier.

 

SEE ALSO

uniuser.ini explains the format of the user.ini file and how to make modifications to it; unires unires is the complementary utility for resources.

 

UNIVERSION

universion - A utility to verify the version of the Calendar Server.

 

SYNTAX

universion [-all] [-nowarn]

universion -v

universion -h

 

DESCRIPTION

universion displays the version number of the Calendar Server and checks all scripts and binaries to see if their versions are up to date.

universion can be run whether the Calendar Server is up or down.

 

OPTIONS

-all
Display version number for each component of the Calendar Server.

-nowarn
Suppress warning messages.

-v
Print the current version number of the Calendar Server.

-h
Print a usage message explaining how to run universion.

 

EXAMPLES


Display the version number of the Calendar Server and check that all of its components are up to date:


% universion

Display the version number of the Calendar Server and each of its components; check that all components are up to date:


% universion -all

 

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 Warning error

4 Severe error

5 Critical error

6 User interrupt

 

UNIWHATOS

uniwhatos - A utility to determine whether the Calendar Server package will run under the current operating system.

 

SYNTAX

uniwhatos

uniwhatos -v

uniwhatos -h

 

DESCRIPTION

uniwhatos determines whether the current operating system is the one the Calendar Server package is intended to run under. If a discrepancy exists, uniwhatos outputs the operating system(s) the package will run under.

uniwhatos can be run whether the Calendar Server is up or down.

 

OPTIONS

-v
Print the current version number of uniwhatos.

-h
Print a usage message explaining how to run uniwhatos.

 

EXAMPLES


An example of uniwhatos finding no discrepancy between the actual and expected operating systems:


% uniwhatos

 
HP-UX 10.x
An example of uniwhatos finding a discrepancy between the actual and expected operating systems:


% uniwhatos


uniwhatos: package for wrong OS installed


expect: HP-UX B.10.x


actual: HP-UX B.9.01

 

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 Warning error

4 Severe error

5 Critical error

6 User interrupt

 

UNIWHO

uniwho - A utility to display information on signed-on Calendar users.

 

SYNTAX

uniwho [-a] [-t] [-j] [-x] [-f] [-p pattern]

uniwho -v

uniwho -h

 

DESCRIPTION

This utility allows the system manager to determine who is using the Calendar Server, where they are signed-on from, and the process-ID associated with their session. The options allow the display of various combinations of process-id, network address, node-ID, and user information.

This information is essential in certain situations. For example, when a user has done an abnormal shutdown of a client (say a powerdown while their client is active) the associated server process for that client will continue to remain active for a fixed period of time. If the Calendar Server was configured (via the "max_userlogons" parameter of the [ENG] section of the unison.ini file) to limit the number of sessions per user to 1, this user would not be able to log on again until their server process had terminated. uniwho allows the system manager to find the process-ID of the session and terminate it.

uniwho can only be run if the Calendar Server is up.

 

OPTIONS

-a
Display the alias associated with the default network address.

-f
Display telephone, job-title and X.400-address when available.

-j
Display job-title when available.

-p
pattern

Display information for sessions which contain pattern in their information. For example, the pattern "128.192.64.96" would result in the display of session information for those logged on from this Internet address. Matching is performed on all fields (network address/alias, telephone number, job-title, X.400 address), regardless of which of these may have been specified on the command line.

-t
Display telephone number when available.

-x
Display X.400 address when available.

-v
Print the current version number of uniwho.

-h
Print a usage message explaining how to run uniwho.

 

EXAMPLES
Display the list of all signed-on Calendar Server users; display the machine alias rather than the network address in the output:

% uniwho -a


PID


ALIAS


NODEID


XITEMID


USER


2120


ark.boat.com


12


12,2


CWSOP,na


24091


sail.boat.com


12


112,316


Barnes,Pat,B 


24298


row.boat.com


12 


12,311


Beck,Tom,V

Display the list of all signed-on Calendar Server users in "Quality Assurance":

% uniwho -p Quality


PID


ADDRESS


NODEID


XITEMID


USER


24298


199.88.48.81


12


2,311


Beck,Tom,V

Display full information for all of the signed-on Calendar Server users:

% uniwho -f








PID


ADDRESS


NODEID


XITEMID


USER


2120


199.88.48.6


12


12,2


CWSOP,na


24091


199.88.48.81


12


12,316


Barnes,Pat,B 










Project-Engineer










Project-Engineer/R&D










///barnesp@acme.com










/// 738-1000/123


 24298


199.88.48.85


12


12,311


Beck,Tom,V










Quality-Assurance










Quality-Assurance/QA










///tomb@acme.com










/// 738-2000/015

 

EXIT STATUS

Exit values are:

0 Success

1 Failure

2 Usage error

3 User interrupt

 

NOTES

uniwho starts a Calendar Server process. If activity logging has been enabled (via the "activity" parameter of the [ENG] section of the unison.ini file), the start-up and shutdown of this process will be logged.