Meta Commands are a subset of CatTools Meta Data. They are used to tell CatTools to perform a piece of internal functionality at a particular point in an activity.
Available Meta Commands
Updates the CatTools Device table which holds the properties for each device.
See the Device Table section for a list of the device fields you can update.
||Sets a flag so commands are sent without waiting for an echo back of the command.|
||Sets a flag so commands are sent and wait for an echo back of the command.|
Sets the maximum time to wait for the response to a command.
||Sets a period to wait before sending a command.|
%ctDB meta command enables you to directly update a field in a table in the CatTools database as part of an Activity.
%ctDB:tablename:fieldname:new field value
tablenameis the name of the table in the database you wish to update a field in.
fieldnameis the name of the field you wish to update. See the Device Table section for a list of fields.
The new field value is the content you wish to place into the database field. This value may contain a colon,
:, in the content as the command parser only looks for the first three colons as separators.
For instance, you may wish to change the password for devices on the remote authentication server. This would be done on the server itself, and CatTools would not be aware that the password has changed.
You can set up a Device.CLI.Send commands activity with a meta command that changes the password in the CatTools database for the selected devices:
In this case, you need to enter only the one meta command as the commands for the Device.CLI. Send commands activity. When the activity runs, it sets the AAAPassword field of the Device table to "
thenewpassword" for all the selected devices. CatTools would then use this new password whenever it needed to login to one of the devices.
You might also use this type of command if you were setting up the local username and password properties on a set of devices. Place the meta commands to update the CatTools database fields after the device commands that set the properties on the devices. SolarWinds recommends that you select the option to Stop on error in this situation to ensure that CatTools does not have a field set if the device command does not complete successfully.
In a Device.CLI.Modify Config activity you might enter the command:
username joe password fred... to set a local username and password. You could use the meta commands to update the CatTools database to reflect these changes:
CatTools now knows to use these values when logging into the device in future.
List of the fields that can be updated in the Device table using the
%ctDB meta command:
|Field Name||Max Size - characters|
While all the fields are character format fields, some, such as RequireVTYLogin, LoginUsesAAA, and EnableUsesAAA, contain numbers to indicate whether they are on or off.
0 is off,
1 is on.
Normally when commands are sent out, CatTools waits for an echo of that command before proceeding. Some commands do not produce an echo, so the activity fails at this point. Password changing activities are notorious for this.
%ctUM: EchoOff command tells CatTools to send out the next command in this activity without waiting for an echo.
Although in some cases it is necessary to switch of the echoing of commands it is advisable to switch echoing back on as soon as possible. By waiting for an echo of commands CatTools can better synchronize data sent and received from the device minimizing the scope for errors.
%ctUM: EchoOn command tells CatTools to wait for an echo of any further commands during this activity.
When waiting for a response to a command CatTools waits for a default time of 30 seconds. Some commands on devices take longer than this to respond. The
%ctUM: Timeout XX command allows you to specify the time to wait for a response for all subsequent commands for this activity.
For example, you may want to set the timeout for the show version command to 50 seconds, to do this you should perform the following:
%ctUM: Timeout 50 show version %ctUM: Timeout 0
Note: the use of the command with a zero value -
%ctUM: Timeout 0 - sets the timeout back to the default value of 30 seconds.
This causes CatTools to pause for the specified time in seconds before issuing the next command. The maximum time that can be specified is
For example, the commands below issues a ping, waits for 50 seconds, and then issues another ping:
ping 127.0.0.1 %ctUM: PauseTime 50 ping 127.0.0.1