Odbedit: Difference between revisions
No edit summary |
No edit summary |
||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= | {{Pagelinks}} | ||
= Links = | |||
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3"> | |||
* [[odbedit command list]] | |||
* [[Odbedit examples]] | |||
* [[ODB|Using the ODB]] | |||
* [[mhttpd]] webserver | |||
* [[Online Database|ODB structure]] | |||
</div> | |||
= Purpose = | |||
The MIDAS {{Utility|name=odbedit}} utility is primarily an [[Online Database (ODB)]] Editor. It also acts as a run control and has limited run monitoring features, so is an alternative to the web-based run control program [[mhttpd]]. On the other hand, the {{Utility|name=mhttpd}} [[ODB Page]] is more user-friendly, but has limited editing capability and does not support all of the features of {{Utility|name=odbedit}}. | |||
= Features = | |||
The features of {{Utility|name=odbedit}} include | |||
* create the ODB of the desired size | * create the ODB of the desired size | ||
* edit/list/create/rename/re-order/delete ODB keys | |||
* create (soft)links to ODB keys | |||
* save all or part of the ODB onto disk and reload from a saved file | * save all or part of the ODB onto disk and reload from a saved file | ||
* start/stop runs | * start/stop runs | ||
* list and shutdown active clients | * list and shutdown active clients | ||
* create a c-structure from the ODB | * create a c-structure from the ODB | ||
* change a key's access mode (e.g. read-only) | * change a key's access mode (e.g. read-only) | ||
* execute a list of commands from a file | * execute a list of odbedit commands from a file | ||
* connect to corrupted ODB | * connect to corrupted ODB | ||
{{Utility|name=odbedit}} treats the hierarchical online database very much like a file system. Most commands are similar to UNIX file commands, | |||
e.g. ''ls, cd, chmod, ln'' etc. The ''help'' command displays a [[Odbedit command list|short description of all commands]]. | e.g. ''ls, cd, chmod, ln'' etc. The ''help'' command displays a [[Odbedit command list|short description of all commands]]. | ||
The | The {{Utility|name=odbedit}} commands and mode of operation are described fully in the following sections. | ||
= Arguments = | |||
[-h hostname ] : see [[Common Parameters to MIDAS Utilities #Midas host (hostname)|common parameters]] | [-h hostname ] : see [[Common Parameters to MIDAS Utilities #Midas host (hostname)|common parameters]] | ||
[-e exptname ] : see [[Common Parameters to MIDAS Utilities #Midas experiment (exptname)|common parameters]] | [-e exptname ] : see [[Common Parameters to MIDAS Utilities #Midas experiment (exptname)|common parameters]] | ||
Line 34: | Line 45: | ||
[-C ] : Connect to corrupted ODB | [-C ] : Connect to corrupted ODB | ||
[-R ] : Reload ODB from .ODB.SHM | [-R ] : Reload ODB from .ODB.SHM | ||
= Usage = | |||
>odbedit | >odbedit | ||
<dl> | |||
<dt>Note</dt> | |||
<dd> For convenience many users (including the author) make a '''symlink''' '''''odb''''' to call {{Utility|name=odbedit}}. | |||
<pre> | |||
cd $MIDASSYS/linux/bin | |||
ln -s odbedit odb | |||
</pre> | |||
Therefore some of the examples in this document start {{Utility|name=odbedit}} with the symlink '''''odb''''' | |||
<pre> | |||
>odb | |||
</pre> | |||
for [[#Specifying the initial ODB entry path|example here]]. | |||
</dd> | |||
</dl> | |||
== Command Line Interpreter == | == Command Line Interpreter == | ||
Line 57: | Line 85: | ||
==== Creating the ODB ==== | ==== Creating the ODB ==== | ||
When <span style="color:darkcyan;">''odbedit''</span> is started for the first time | When <span style="color:darkcyan;">''odbedit''</span> is started for the first time for a Midas [[Common Parameters to MIDAS Utilities #Midas experiment (exptname)|experiment]], if there is no existing ODB for that experiment, | ||
the ODB will be created with the default size of 128KB, unless overruled by the | the ODB will be created with the default size of 128KB, unless overruled by the | ||
[[odbedit #Starting odbedit utility |odbedit ''-s <size>'']] argument, e.g. | [[odbedit #Starting odbedit utility |odbedit ''-s <size>'']] argument, e.g. | ||
Line 65: | Line 93: | ||
==== Using an external command ==== | ==== Using an external command ==== | ||
In the simplest case, a single <span style="color:darkcyan;">''odbedit''</span> command can be entered on the command line using the ''-c'' argument, e.g. | In the simplest case, a single <span style="color:darkcyan;">''odbedit''</span> command can be entered on the command line using the '''''-c'' argument''', e.g. | ||
$ odbedit -c start | |||
Starting run #401 | Starting run #401 | ||
Run #401 started | Run #401 started | ||
$ odbedit -c stop | |||
Run #401 stopped | Run #401 stopped | ||
or | |||
$ odbedit -c 'set "/logger/write data" n' | |||
$ odbedit -c 'ls -v "/logger/write data" ' | |||
n | |||
This external command feature allows for sophisticated '''shell scripts''' to be created that can '''manipulate the odb'''. | |||
See [[ODB Access and Use#Accessing the ODB from a script|accessing the ODB from a script]] for more information. | |||
This feature can be used in various scripts - see [[ODB Access and Use#Accessing the ODB from a script]] for more information. | |||
==== Using an external command file ==== | ==== Using an external command file ==== | ||
Perform commands in sequence found in the specified | Perform {{Utility|name=odbedit}} commands in sequence found in the specified '''command file''' e.g. | ||
[pol@isdaq01 pol]$ odbedit ''-d'' /Equipment/TDC/Settings/ ''-c'' @testfile.com | [pol@isdaq01 pol]$ odbedit ''-d'' /Equipment/TDC/Settings/ ''-c'' @testfile.com | ||
where the file "testfile.com" contains odbedit commands, such as | where the file "testfile.com" contains {{Utility|name=odbedit}} commands, such as | ||
set testval 4 | set testval 4 | ||
ls testval | ls testval | ||
start | start | ||
==== Specifying the initial ODB entry path ==== | ==== Specifying the initial ODB entry path ==== | ||
The <span style="color:darkcyan;">''odbedit''</span> | The <span style="color:darkcyan;">''odbedit''</span> ''' ''-d'' argument''' is used in conjunction with the ''' ''-c'' argument''' to specify the initial path, e.g. | ||
[pol@isdaq01 pol]$ odbedit -d /test -c "set testval 3" | [pol@isdaq01 pol]$ odbedit -d /test -c "set testval 3" | ||
[pol@isdaq01 pol]$ odb | [pol@isdaq01 pol]$ odb | ||
Line 110: | Line 139: | ||
[[Category:Utilities]] | [[Category:Utilities]] | ||
[[Category:ODB]][[Category:Run control]] |
Latest revision as of 19:36, 27 January 2016
Links
Purpose
The MIDAS odbedit utility is primarily an Online Database (ODB) Editor. It also acts as a run control and has limited run monitoring features, so is an alternative to the web-based run control program mhttpd. On the other hand, the mhttpd ODB Page is more user-friendly, but has limited editing capability and does not support all of the features of odbedit.
Features
The features of odbedit include
- create the ODB of the desired size
- edit/list/create/rename/re-order/delete ODB keys
- create (soft)links to ODB keys
- save all or part of the ODB onto disk and reload from a saved file
- start/stop runs
- list and shutdown active clients
- create a c-structure from the ODB
- change a key's access mode (e.g. read-only)
- execute a list of odbedit commands from a file
- connect to corrupted ODB
odbedit treats the hierarchical online database very much like a file system. Most commands are similar to UNIX file commands, e.g. ls, cd, chmod, ln etc. The help command displays a short description of all commands.
The odbedit commands and mode of operation are described fully in the following sections.
Arguments
[-h hostname ] : see common parameters [-e exptname ] : see common parameters [-c command ] : Perform a single command. See using an external command [-c @commandFile ] : Perform commands in sequence found in the commandFile. See using an external command file [-s size ] : Size in bytes (for ODB creation). See creating the ODB. [-d ODB Subtree] : Specify the initial entry ODB path to go to. See Specifying the ODB entry path. [-g ] : Debug [-C ] : Connect to corrupted ODB [-R ] : Reload ODB from .ODB.SHM
Usage
>odbedit
- Note
- For convenience many users (including the author) make a symlink odb to call
odbedit.
cd $MIDASSYS/linux/bin ln -s odbedit odb
Therefore some of the examples in this document start odbedit with the symlink odb
>odb
for example here.
Command Line Interpreter
ODBedit has a simple command line interface with command line editing similar to the UNIX tcsh shell. The following edit keys are implemented:
[Backspace] Erase the character left from cursor [Delete/Ctrl-D] Erase the character under cursor [Ctrl-W/Ctrl-U] Erase the current line [Ctrl-K] Erase the line from cursor to end [Left arrow/Ctrl-B] Move cursor left [Right arrow/Ctrl-F] Move cursor right [Home/Ctrl-A] Move cursor to beginning of line [End/Ctrl-E] Move cursor to end of line [Up arrow/Ctrl-P] Recall previous command [Down arrow/Ctrl-N] Recall next command [Ctrl-F] Find most recent command which starts with current line [Tab/Ctrl-I] Complete the path. The command ls /Sy <tab> becomes ls /System.
Creating the ODB
When odbedit is started for the first time for a Midas experiment, if there is no existing ODB for that experiment, the ODB will be created with the default size of 128KB, unless overruled by the odbedit -s <size> argument, e.g.
odbedit -s 2049000
Using an external command
In the simplest case, a single odbedit command can be entered on the command line using the -c argument, e.g.
$ odbedit -c start Starting run #401 Run #401 started $ odbedit -c stop Run #401 stopped
or
$ odbedit -c 'set "/logger/write data" n' $ odbedit -c 'ls -v "/logger/write data" ' n
This external command feature allows for sophisticated shell scripts to be created that can manipulate the odb. See accessing the ODB from a script for more information.
This feature can be used in various scripts - see ODB Access and Use#Accessing the ODB from a script for more information.
Using an external command file
Perform odbedit commands in sequence found in the specified command file e.g.
[pol@isdaq01 pol]$ odbedit -d /Equipment/TDC/Settings/ -c @testfile.com
where the file "testfile.com" contains odbedit commands, such as
set testval 4 ls testval start
Specifying the initial ODB entry path
The odbedit -d argument is used in conjunction with the -c argument to specify the initial path, e.g.
[pol@isdaq01 pol]$ odbedit -d /test -c "set testval 3" [pol@isdaq01 pol]$ odb [local:pol:S]/>ls test testval
Changing the prompt
The format of the odbedit prompt can be changed. See format of the odbedit prompt.
odbedit command list
Click above link for list of odbedit commands and examples.