Odbedit: Difference between revisions

From MidasWiki
Jump to navigation Jump to search
(The midas documentation has moved to https://midas.triumf.ca/docs/)
Tag: Replaced
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{Pagelinks}}
The midas documentation has moved. See [https://midas.triumf.ca/docs/develop/reference/reference/programs/#odbedit odbedit] in Programs and options and [https://midas.triumf.ca/docs/develop/features/core_system/odb/#odbedit-tool odbedit tool] in ODB: overview for the new documentation about the odbedit program.
 
= 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
* 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
 
 
{{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]].
 
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]]
    [-e exptname ]    : see  [[Common Parameters to MIDAS Utilities #Midas experiment (exptname)|common parameters]]
    [-c command ]      : Perform a single command. See [[#Using an external command|using an external command]]
    [-c @commandFile ] : Perform commands in sequence found in the commandFile. See [[#Using an external command file|using an external command file]]
    [-s size ]        : Size in bytes (for ODB creation). See [[#Creating the ODB|creating the ODB]].
    [-d ODB Subtree]  : Specify the initial entry ODB path to go to. See [[#Specifying the initial ODB entry path|Specifying the ODB entry path]].
    [-g ]              : Debug
    [-C ]              : Connect to corrupted ODB
    [-R ]              : Reload ODB from .ODB.SHM
 
= Usage =
    >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 ==
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 <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
[[odbedit #Starting odbedit utility |odbedit ''-s <size>'']] argument, e.g.
 
odbedit -s 2049000
 
====  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.
 
$ 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 feature can be used in scripts that can check or change the values of the odb before starting a run.
 
==== Using an external command file ====
Perform commands in sequence found in the specified commandFile 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
This external command feature allows for sophisticated '''shell scripts''' to be created that can '''manipulate the odb'''.
Such scripts can for example
 
*    check ODB parameters prior to beginning of run
*    send run parameters to the electronic logbook
 
Scripts using the external command feature are often used at begin and end of run, see also
[[/Programs/execute on start run]]
 
 
 
====  Specifying the initial ODB entry path ====
 
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]$ odb
[local:pol:S]/>ls test
testval
 
 
==== Changing the prompt ====
The format of the <span style="color:darkcyan;">''odbedit''</span> prompt can be changed. See
[[/System ODB tree #/System/Prompt|format of the odbedit prompt]].
 
== [[odbedit command list]] ==
Click above link for list of odbedit commands and examples.
 
[[Category:Utilities]]
[[Category:ODB]][[Category:Run control]]

Latest revision as of 22:01, 30 October 2026

The midas documentation has moved. See odbedit in Programs and options and odbedit tool in ODB: overview for the new documentation about the odbedit program.