Annotation of cci/usr/src/usr.bin/bsc/doc/tutor.txt, revision 1.1.1.1

1.1       root        1: .RP
                      2: .TL
                      3: Using the 2780/3780 Utilities
                      4: .AU
                      5: Risa Galant
                      6: .AI
                      7: D. L. Buck and Associates, Inc.
                      8: .LP
                      9: The
                     10: .I BSC
                     11: utilities are a collection of programs, library-files, and drivers which
                     12: are used to perform batch communications with remote computers, and which
                     13: make non-IBM terminals look like IBM 2780 or 3780 communications terminals.
                     14: .LP
                     15: This tutorial describes some basic terminology, how files are sent and
                     16: received, how each utility works, and
                     17: how to use each invocation. The utilities are presented in two parts:
                     18: those used daily by everyone interested in communicating with remote
                     19: computers, and those the system administrator will use for maintenance and
                     20: administration.
                     21: .LP
                     22: The utilities are presented in probable order of use:
                     23: .ID
                     24: I. Daily use
                     25:    1. Queuing files for batch transmission
                     26:    2. Searching host spool directories for files received 
                     27:    3. Formatting files received 
                     28: 
                     29: II. Administration and Maintenance
                     30:    1. Checking the communications log (if one is kept)
                     31:    2. Clearing old received files from the host spool directories 
                     32:    3. Purging the communications log
                     33:    4. Using /usr/lib/crontab to make BSC run automatically
                     34: .DE
                     35: .SH
                     36: Terminology
                     37: .LP
                     38: The following terms will be used throughout this tutorial:
                     39: .RS
                     40: .IP \(bu
                     41: Remote host, or host
                     42: .IP
                     43: The remote host is any remote computer with which communications are to take
                     44: place. There may be more than one. Your system administrator should know with
                     45: what hosts you may communicate.
                     46: .IP \(bu
                     47: Spool directory
                     48: .IP
                     49: This refers to a special directory on the computer into which transmission
                     50: control files for files to be transmitted to a particular host are
                     51: placed, and into which files received from 
                     52: that host are placed. Each host to be communicated with must have a 
                     53: corresponding spool directory, otherwise, files intended for a particular 
                     54: host could go to a different one, and it would be unclear from which host a 
                     55: particular received file came.
                     56: .IP \(bu
                     57: Default host
                     58: .IP
                     59: Several of the utilities have a default name for the host (and thus for the
                     60: spool directory); that name is 
                     61: .I default.
                     62: The default host is the spool directory files to be sent are queued for,
                     63: searched for, and formatted from if no other host name is specified.
                     64: Host names should be specified if there are several hosts which
                     65: may be communicated with, but if there is only one, your system
                     66: administrator has probably assigned the name "default" to it. This 
                     67: makes invoking the utilities
                     68: much simpler, because the need to specify a host name is eliminated.
                     69: .IP \(bu
                     70: .I
                     71: BSC (Bisync)
                     72: .R
                     73: Daemon
                     74: .IP
                     75: This utility is usually invoked by an entry the system administrator made in
                     76: .I /usr/lib/crontab.
                     77: It controls the communications activity between your computer and the remote
                     78: host computer, and does the actual file transfers.
                     79: .IP
                     80: If your computer does not have auto-dial or auto-answer facilities for
                     81: connection to the remote computer, you may have to manually invoke the
                     82: daemon. Your system administrator should be able to give you procedures
                     83: for doing so.
                     84: .RE
                     85: .SH
                     86: How Files Are Sent and/or Received
                     87: .LP
                     88: The daemon needs three things to perform its communications duties:
                     89: .IP 1.
                     90: A remote host configuration file for each host with which communications
                     91: take place.
                     92: .IP 2.
                     93: A remote host spool directory (one per host), the name of which matches the
                     94: name of the configuration file.
                     95: .IP 3.
                     96: At least one transmission control file in the remote host spool directory
                     97: (i.e., at least one file to send, or an empty ("dummy") control file).
                     98: .IP \(bu
                     99: Remote Host Configuration Files
                    100: .IP
                    101: Configuration files are created for each remote host by the system
                    102: administrator in a directory called
                    103: .I /usr/lib/bscbatch.
                    104: They serve two purposes: 1, to identify a remote host
                    105: spool directory to the daemon, and 2, to tell the daemon how to communicate 
                    106: with the host. They contain parameters such as in which character code data 
                    107: will be transferred (ASCII or EBCDIC), how long to put up with a specified 
                    108: (unusual) line condition before terminating a communications session, and
                    109: how many times to try to get the communications line to the remote host
                    110: before giving up. If the configuration file doesn't exist, there's no
                    111: host spool directory as far as the daemon is concerned.
                    112: .IP \(bu
                    113: Remote Host Spool Directory
                    114: .IP
                    115: As previously explained in the terminology section, this directory's 
                    116: function is to contain files received from the host, and transmission
                    117: control files created when files are queued for transmission. It must
                    118: have the same name as the host configuration file or the daemon won't
                    119: know it exists.
                    120: .IP \(bu
                    121: Transmission Control Files
                    122: .IP
                    123: Transmission control files are created by
                    124: .I bscbatch
                    125: for every file which is queued for transmission. They're placed in the
                    126: remote host spool directory,
                    127: .I /usr/spool/bscbatch/<hostname>,
                    128: where <hostname> is the name of a real host spool directory on your computer.
                    129: They tell the daemon what file(s) to transmit, how to transmit them, whether
                    130: special mail should be sent when they've been successfully transmitted, and
                    131: whether to send only a copy of the file.
                    132: .IP
                    133: Your system administrator will already have set up all the configuration files
                    134: and spool directories you need you need them.
                    135: All you really need to know is the name assigned to the remote host
                    136: on your computer; the
                    137: .I BSC
                    138: daemon and the utilities will do the rest.
                    139: .IP \(bu
                    140: How It Works
                    141: .IP
                    142: Once invoked, the daemon searches the
                    143: .I /usr/lib/bscbatch
                    144: directory for a host configuration file. When it finds one, it searches
                    145: .I /usr/spool/bscbatch/<hostname>
                    146: for transmission control files. If it finds one, it pulls the information
                    147: from the configuration file and tells its driver how it intends to 
                    148: communicate with the remote host. It then opens the file to be transmitted
                    149: and attempts to send it. If transmission is successful, it looks for another
                    150: one to send, repeating the process until there are no more transmission
                    151: control files in the spool directory. At that time, it waits,
                    152: ready to receive files. If the host has anything to transmit,
                    153: it does so.
                    154: .IP
                    155: If, when communications first start, the host is more persistant than the 
                    156: daemon and
                    157: wants to transmit first, the daemon will give up and decide to receive
                    158: instead. It attempts to send again when the host is finished, and when it is
                    159: done transmitting, it informs the host it is ready to receive again.
                    160: .IP 
                    161: When no further activity is detected with the remote host for a period of
                    162: time specified by the system administrator, the daemon
                    163: "times out", i.e. it decides to end the session with that host. It
                    164: continues to search through
                    165: .I /usr/lib/bscbatch
                    166: for host spool directories, repeating the communications process for each
                    167: one it finds. When it doesn't find any more hosts, the daemon ceases
                    168: to exist.
                    169: .IP
                    170: Received files are placed in 
                    171: .I /usr/spool/bscbatch/<hostname>
                    172: with names which are useful only to differentiate one file from another;
                    173: they're meaningless for anything else. The standard form is:
                    174: .RS
                    175: .IP
                    176: PR<4-digit index #><daemon's process id #>
                    177: for print files, and
                    178: 
                    179: PU<4-digit index #><daemon's process id #>
                    180: for punch files.
                    181: .RE
                    182: .IP
                    183: For example, if the daemon's process id is 89 and it receives two
                    184: print files, it will place the print files in the host spool directory
                    185: and name the first one PR000089 and the second one PR000189.
                    186: .SH
                    187: Command Syntax Conventions
                    188: .LP
                    189: Command syntax of the utilities is shown as follows:
                    190: .DS
                    191: utility param [option=<name>] [option] [option] ...
                    192: .DE
                    193: .LP
                    194: Words without brackets are mandatory parameters \(em they must be typed in if 
                    195: the utility is to perform the function desired.  All the words within square 
                    196: brackets ("[]") are optional parameters \(em they need not be specified unless 
                    197: values other than their default values are desired.  All the words within 
                    198: angular brackets ("<>") will be replaced by actual names, e.g. the names 
                    199: of real files to be transmitted to a remote host, or the name of a remote 
                    200: host to be communicated with.
                    201: .NH 1
                    202: Daily BSC Utilities
                    203: .LP
                    204: Daily use of
                    205: .I BSC
                    206: consists of queuing files for transmission, checking for files received from 
                    207: a remote host, and processing files received. The utilities which perform 
                    208: these functions are 
                    209: .I bscbatch,
                    210: which batches (queues) files for transmission and searches directories for 
                    211: received files, and
                    212: .I bscpr,
                    213: which formats received files.
                    214: .NH 2
                    215: Queuing Files for Batch Transmission
                    216: .LP
                    217: Files must be queued before they can be transmitted to a remote host.
                    218: .I bscbatch
                    219: does this by creating special files called transmission control files, one
                    220: for each file to be sent. Each contains the name of the file and
                    221: information about the options with which it was queued, e.g., whether it is
                    222: just a copy and should be deleted after it has been sent, or whether or not 
                    223: to send mail if it was transmitted successfully. Transmission control files
                    224: exist in the spool directory for a host, and start with the letter "C".
                    225: .LP
                    226: The
                    227: .I BSC
                    228: daemon attempts to contact a particular host only if it finds at least
                    229: one transmission control file in its spool directory, so that's where
                    230: .I bscbatch 
                    231: puts them.
                    232: .LP
                    233: It is invoked as follows:
                    234: .DS
                    235: bscbatch [\(emto=<hostname>] [\(emcopy] [\(emmail] [\(emtransp] [<file> ...]
                    236: .DE
                    237: .NH 3
                    238: The Options
                    239: .IP \(bu
                    240: .I \(emto=<hostname>
                    241: .IP
                    242: The 
                    243: .I \(emto 
                    244: option is used to specify a destination host. If 
                    245: .I \(emto 
                    246: isn't used, files will be queued in the
                    247: .I default
                    248: host spool directory automatically.
                    249: .IP
                    250: Note: only one destination host can be specified per invocation of
                    251: .I bscbatch.
                    252: .IP \(bu
                    253: .I \(emcopy
                    254: .IP
                    255: The
                    256: .I Bisync
                    257: daemon depends on the transmission control file for information about what
                    258: file is to be sent. If the 
                    259: .I \(emcopy 
                    260: option is specified, a copy of the file to be transmitted is created 
                    261: in the host's spool directory, and 
                    262: the name of that copy is put into the control file. The daemon transmits 
                    263: the copy, rather than the file itself, when 
                    264: communication with the remote host is begun. 
                    265: .IP
                    266: The 
                    267: .I \(emcopy 
                    268: option is especially useful if a file is going to be changed, but 
                    269: its current version must be transmitted to the remote host. A copy can be
                    270: made of the file in its current state and added to the spool directory, and
                    271: work can continue on the original.
                    272: .IP
                    273: Once the copy has been successfully transmitted, it is removed from the
                    274: spool directory.
                    275: .IP
                    276: Note: the daemon removes only
                    277: .I copy
                    278: files from the spool directory; originals are not removed from their 
                    279: directories.
                    280: .IP \(bu
                    281: .I \(emmail
                    282: .IP
                    283: Mail is usually sent to the system administrator only if there were
                    284: problems during the transmission or reception of files. If 
                    285: .I \(emmail 
                    286: is specified, mail will be sent to the user id queuing the file 
                    287: if it was transmitted successfully.
                    288: .IP \(bu
                    289: .I \(emtransp
                    290: .IP
                    291: The
                    292: .I Bisync
                    293: daemon checks whether special control characters exist in the 
                    294: file being transmitted. If there are any, it changes its transmission 
                    295: mode so that those characters are transmitted safely, i.e. not considered 
                    296: to be
                    297: .I BSC
                    298: control characters, but actual data. This mode is known as the
                    299: .I transparent 
                    300: mode. It enables special characters which are part of a
                    301: file's text to be treated as data, rather than as characters with
                    302: special meaning for the daemon.
                    303: .IP
                    304: If 
                    305: .I \(emtransp 
                    306: is specified, the file will be sent in transparent mode with no
                    307: special character checking done by the daemon. 
                    308: .I \(emtransp 
                    309: is generally used
                    310: only if the file to be sent 
                    311: .I has
                    312: to be sent in transparent mode for remote host compatability reasons. 
                    313: That sort of situation is unusual, and
                    314: .I \(emtransp
                    315: really isn't needed for normal communications activity.
                    316: .IP
                    317: Note: this form is usually slower than non-transparent mode.
                    318: .IP \(bu
                    319: Additional notes
                    320: .IP
                    321: All files queued during a single session of 
                    322: .I bscbatch
                    323: will be queued with the same options. If, for example, it is desired that a 
                    324: .I copy 
                    325: of only one file of, say, 20 to be queued be transmitted, it is 
                    326: better if that file is queued via a separate command to avoid needless 
                    327: use of space.
                    328: .IP
                    329: .I bscbatch
                    330: does its work quietly \(em no prompts are displayed, no input is needed beyond
                    331: invoking it with appropriate parameters and/or options. It's easy to know
                    332: when it is finished \(em the system prompt will appear.
                    333: .IP \(bu
                    334: [<file>]
                    335: .IP
                    336: Substitute the names of files to be queued for transmission for the [<file>]
                    337: option, separated by spaces. Several files can be queued at once, or separate
                    338: invocations of 
                    339: .I bscbatch
                    340: can be made as files are ready for transmission.
                    341: .IP
                    342: If no file names are specified, 
                    343: .I bscbatch
                    344: creates a "copy" file from text entered on the terminal ("standard input")
                    345: as it is running, placing it in the host's spool directory. The transmission 
                    346: control file created contains the same kind of information as those which are 
                    347: created for files queued with the 
                    348: .I \(emcopy 
                    349: option.
                    350: .IP
                    351: Text is entered at the terminal as if the terminal is a typewriter. When
                    352: all text has been entered, type control-d on a line by itself.
                    353: This signals
                    354: .I bscbatch
                    355: that the file is complete. It creates the "copy" file, and returns to the
                    356: system prompt. Only one file can be queued this way.
                    357: .NH 3
                    358: Sample Queuing Invocations
                    359: .LP
                    360: Suppose you want to send three files, stuff, more_stuff, and further_stuff,
                    361: to a host named "2780" by the system administrator. Further, suppose you
                    362: want mail to be sent to you when sending is completed. The following
                    363: command will do this for you:
                    364: .DS
                    365: bscbatch \(emto=2780 \(emmail stuff more_stuff further_stuff
                    366: .DE
                    367: .LP
                    368: Or, suppose that you want to send a binary file called obj_file to the
                    369: .I default
                    370: host, but you're still working on it and want to be sure that the current
                    371: version gets sent. Use the following:
                    372: .DS
                    373: bscbatch \(emcopy \(emtransp obj_file
                    374: .DE
                    375: .NH 2
                    376: Searching Host Spool Directories
                    377: .LP
                    378: .I Bscbatch
                    379: is also used to search the host spool directories for files received from
                    380: the hosts. This is usually done after communications have been completed.
                    381: .LP
                    382: It is invoked as follows:
                    383: .DS
                    384: bscbatch \(emq[=<host name>] [\(emt=hh[mm]] [\(eml=lines]
                    385: .DE
                    386: .NH 3
                    387: The Options
                    388: .IP \(bu
                    389: .I \(emq[=<hostname>]
                    390: .IP
                    391: .I \(emq 
                    392: is 
                    393: .I not 
                    394: an optional parameter. If the search function of 
                    395: .I bscbatch
                    396: is desired, 
                    397: .I \(emq 
                    398: has to be specified. Otherwise,
                    399: .I bscbatch
                    400: assumes that you want to queue a file for transmission.
                    401: .IP
                    402: If a host name isn't specified,
                    403: .I bscbatch
                    404: will do the search on the
                    405: .I default
                    406: host spool directory. Otherwise, it will search the spool directory of the
                    407: specified host for files received.
                    408: .IP \(bu
                    409: .I \(emt=<hh[<mm>]>
                    410: .IP
                    411: .I \(emt 
                    412: is used to limit the search for received files to those received within
                    413: the last 
                    414: .I hh 
                    415: hours and, optionally, 
                    416: .I mm 
                    417: minutes. If 
                    418: .I \(emt 
                    419: isn't specified, all the files received from the host and currently in the
                    420: spool queue are displayed.
                    421: .IP
                    422: .I Warning: 
                    423: your system administrator will probably cause old received files
                    424: to be discarded every once in a while. Don't go off on vacation and expect
                    425: your received files to be waiting for you! As soon as you identify them,
                    426: move them
                    427: to a safe place in your directory. You can give
                    428: them meaningful names this way, too, since the names the daemon assigns are
                    429: not very meaningful (it uses 
                    430: its process id and an index number to tell files apart). "mv"ing your files
                    431: will also help keep the size of the spool directories to reasonable limits.
                    432: .IP \(bu
                    433: .I \(eml=<lines>
                    434: .IP
                    435: .I <lines>
                    436: must be a number greater than 0 (zero).
                    437: .I bscbatch
                    438: displays the first 20 lines of each file received. If some other
                    439: number of lines is desired, use the 
                    440: .I \(eml 
                    441: option to specify how many.
                    442: .NH 3
                    443: Sample Search Invocations
                    444: .LP
                    445: Let's say that your system administrator set up the
                    446: .I bsc
                    447: daemon to run overnight, and when you start work in the morning, you
                    448: want to see if you received anything from your favorite host, 2780.
                    449: You know that you can identify any file that's yours in the first 10
                    450: lines, so you enter:
                    451: .DS
                    452: bscbatch \(emq=2780 \(emt=8 \(eml=10
                    453: .DE
                    454: .LP
                    455: This causes
                    456: .I bscbatch
                    457: to search 2780's spool directory for any files received within the last eight
                    458: hours and to display the first 10 lines of each one found.
                    459: .LP
                    460: On the other hand, you can poke around the entire queue of received files in
                    461: the 
                    462: .I default
                    463: host spool directory and display 20 lines of each one by typing:
                    464: .DS
                    465: bscbatch \(emq
                    466: .DE
                    467: .LP
                    468: Note: If it is possible to identify which files are yours versus which files
                    469: are someone else's merely by looking at them, your system administrator may
                    470: have modified the
                    471: .I bsc
                    472: daemon to have it place your files in your directory and send you some mail 
                    473: when they
                    474: arrive. In that case, you won't need to use the search option at all.
                    475: .NH 2
                    476: Formatting Files Received
                    477: .LP
                    478: .I bscpr
                    479: is used to format files received from the remote host which contain
                    480: IBM 3780 or 2780 terminal control characters and escape sequences.
                    481: It is invoked as follows:
                    482: .DS
                    483: bscpr [\(emascii] [\(empage=<pp>] [<chan>=<lineno> ...] [<file>]
                    484: .DE
                    485: .NH 3
                    486: The Options
                    487: .IP \(bu
                    488: .I \(emascii
                    489: .IP
                    490: .I Bscpr
                    491: assumes that all the control characters and escape sequences used for
                    492: printer positioning are EBCDIC style unless this parameter is specified.
                    493: EBCDIC and ASCII use different letters to identify vertical positioning,
                    494: so this parameter is important.
                    495: .IP \(bu
                    496: .I \(empage=<pp>
                    497: .IP
                    498: Page length is assumed to be 66 lines unless this parameter is specified.
                    499: .IP \(bu
                    500: <chan>=<lineno>
                    501: .IP
                    502: This parameter allows the user to tell
                    503: .I bscpr
                    504: the line numbers to which channel numbers specified in the file's escape 
                    505: sequences correspond. 
                    506: .I <chan> 
                    507: may be a number from 1 to 12. 
                    508: .I <lineno> 
                    509: may be a number from 1 to whatever the page length is: 66 if the default page
                    510: length is being used, or the length set in the 
                    511: .I \(empage 
                    512: option. 
                    513: .IP
                    514: Usually, channel 1 is top-of-form, channel 12 is bottom-of-form, and the 
                    515: rest correspond to line numbers in between. 
                    516: .NH 3
                    517: Sample Invocation
                    518: .LP
                    519: Suppose you received a file and "mv"ed it to your directory, calling it
                    520: received_file.
                    521: If you'd like to see what received_file looks like when it is formatted on your
                    522: terminal, using line 22 of your terminal as bottom of form, type:
                    523: .DS
                    524: bscpr \(empage=22 12=22 received_file
                    525: .DE
                    526: .LP
                    527: .I Bscpr 
                    528: will format 
                    529: .I received_file
                    530: with 22 lines per page, and any escape sequence specifying channel 12
                    531: will cause bscpr to go to line 22, the bottom of the page.
                    532: .SH 
                    533: See Also:
                    534: .LP
                    535: .ID
                    536: BSCBATCH(8)
                    537: BSCPR(1C)
                    538: .DE
                    539: .LP
                    540: For information on escape sequences for forms control:
                    541: .LP
                    542: .I
                    543: Component Description: IBM 2780 Data Transmission Terminal,
                    544: .R
                    545: IBM document GA27-3005.
                    546: .br
                    547: .I
                    548: Component Description: IBM 3780 Data Communication Terminal, 
                    549: .R
                    550: IBM document GA27-3063.
                    551: .NH 1
                    552: Administration and Maintenance
                    553: .LP
                    554: Administration and maintenance of
                    555: .I bsc
                    556: consists of checking the communications log regularly,
                    557: doing periodic clean-ups of old received files in the
                    558: host spool directories, and periodically purging the log of old entries.
                    559: The utilities which perform these functions are
                    560: .I bsclog,
                    561: which puts log entries into report format and displays them and purges 
                    562: the log, and
                    563: .I bsclean,
                    564: which cleans out the host spool directories.
                    565: .NH 2
                    566: Checking the Communications Log
                    567: .LP
                    568: A log of all communications activity with a remote host is kept if a file named
                    569: .I AUDIT
                    570: has been created in the host's spool directory. Information in the log
                    571: includes communications session statistics, files sent and received,
                    572: their sizes in bytes and number of blocks they were transmitted in,
                    573: when files were queued for transmission, problems encountered, reasons
                    574: for disconnection, and so on. Each entry includes the date and time that
                    575: the event for which it was made occurred, the class of the event, and
                    576: the user id on which the event took place.
                    577: .LP
                    578: .I bsclog
                    579: is used to put the information in the communications log into a
                    580: readable report format. It displays all entries in the communications log 
                    581: for the 
                    582: .I default
                    583: host, unless one or more of its options are used to limit the display.
                    584: It is invoked as follows:
                    585: .DS
                    586: .ta 0.6i
                    587: bsclog [<hostname>] [\(emfrom=[<yymmdd>]<hhmm>] 
                    588:        [\(emto=[<yymmdd]<hhmm>] [\(emclass=<class(es)>] 
                    589:        [\(emuser=<user id>]
                    590: .DE
                    591: .NH 3
                    592: The Options
                    593: .IP \(bu
                    594: .I <hostname>
                    595: .IP
                    596: If you're checking the log for any host besides the
                    597: .I default
                    598: host, specify it here.
                    599: .IP \(bu
                    600: .I \(emfrom=[<yymmdd>]<hhmm>
                    601: .IP
                    602: .I bsclog
                    603: will display the entire communications log unless you give it some limits. Use
                    604: .I \(emfrom
                    605: to tell it from which point you'd like to check the log. 
                    606: If only hours and minutes are specified,
                    607: .I bsclog
                    608: will assume that today's entries are to be displayed, starting at
                    609: the time hh:mm. If a specific date is desired, enter the date
                    610: .I and
                    611: the time from which to start checking, in year-month-day-hours-minutes
                    612: format, e.g. 8305261000 for May 26, 1983 at 10:00 a.m.
                    613: .IP
                    614: Four-digit times must be specified, e.g. 8 a.m. is specified as 0800,
                    615: 3 p.m. as 1500, etc.
                    616: .IP
                    617: Note: hours and minutes
                    618: .I must
                    619: be specified if
                    620: .I \(emfrom
                    621: is used. Year, month, and day are optional.
                    622: .IP \(bu
                    623: .I
                    624: \(emto=[<yymmdd>]<hhmm>
                    625: .IP
                    626: If 
                    627: .I \(emfrom
                    628: can be thought of as a starting point for checking the communications log,
                    629: .I \(emto
                    630: can be thought of as an ending point. If only
                    631: .I \(emfrom
                    632: is specified, 
                    633: .I bsclog
                    634: will display everything from the starting time until it reaches the end of
                    635: the log. If you really don't want to display that much information, use
                    636: .I \(emto
                    637: to specify the ending point you want.
                    638: .IP
                    639: As with
                    640: .I \(emfrom,
                    641: if only hours and minutes are specified,
                    642: .I bsclog
                    643: assumes that the ending date for checking the log is today, at the time
                    644: specified. If a different date is desired, it must be specified in the 
                    645: year-month-day-hours-minutes format.
                    646: .IP
                    647: Note: as in 
                    648: .I \(emfrom,
                    649: hours and minutes 
                    650: .I must
                    651: be specified if 
                    652: .I \(emto
                    653: is used. Year, month, and day are optional.
                    654: .IP \(bu 
                    655: .I \(emclass=<class(es)>
                    656: .IP
                    657: Communications log entries come in 6 classes:
                    658: .I
                    659: C, D, Q, R, S,
                    660: .R
                    661: and
                    662: .I T, 
                    663: for connect, disconnect, queue, receive, send, and statistics log
                    664: entries, respectively.
                    665: .I bsclog
                    666: will display all classes of log entries unless you say otherwise.
                    667: If you wish to look at entries for a particular class
                    668: or group of classes, rather than all of them, use 
                    669: .I \(emclass
                    670: to do so.
                    671: .IP
                    672: See 
                    673: .I BSCLOG(8)
                    674: for descriptions of messages and their classes.
                    675: .IP
                    676: Note: one or more classes may be specified, either in upper or lower case.
                    677: Classes may be specified in any order.
                    678: .IP \(bu
                    679: .I \(emuser=<user id>
                    680: .IP
                    681: The
                    682: .I \(emuser
                    683: option is used to look at the log entries for a particular user id. This
                    684: is useful for such things as checking who's queuing files for
                    685: transmission, or who's trying to invoke the
                    686: .I bsc
                    687: daemon.
                    688: .IP
                    689: Note: any valid user id may be entered for this option, but only one may
                    690: be specified per invocation. 
                    691: .NH 3
                    692: Sample Log Checking Invocations
                    693: .LP
                    694: Suppose that you'd like to check 2780's communications log for all activity
                    695: between 10:00 and 11:00 on June 21, 1983. This command may be used:
                    696: .ID
                    697: bsclog 3780 \(emfrom=8306211000 \(emto=8306211100
                    698: .DE
                    699: .LP
                    700: Or, you've been curious as to how successful the connections have been
                    701: since you started keeping the log (or at least since the last time you
                    702: purged it) for
                    703: .I default.
                    704: Type the following:
                    705: .ID
                    706: bsclog \(emclass=C
                    707: .DE
                    708: .LP
                    709: Okay, suppose that it is June 15, 1983, and
                    710: you want to check all the send, receive, and statistics for
                    711: user id root between June 10, 1983 at 3 p.m. and June 12, 1983 at 3 p.m.
                    712: for remote host 3780. Try this:
                    713: .ID
                    714: bsclog 3780 \(emfrom=8306101500 \(emto=8306121500 \(emuser=root \(emclass=SRT
                    715: .DE
                    716: .LP
                    717: As a last example, say that you want to look at everything which happened
                    718: with 
                    719: .I default
                    720: after 8 a.m. today. Type:
                    721: .ID
                    722: bsclog \(emfrom=0800
                    723: .DE
                    724: .NH 2
                    725: Clearing Out Old Received Files 
                    726: .LP
                    727: Files received from remote hosts are placed in the local spool directory
                    728: for the appropriate host. They remain in the spool directories until
                    729: they are either claimed and "mv"ed to a user directory, or until they
                    730: are cleared out by the system administrator.
                    731: .LP
                    732: .I Bsclean
                    733: is used to clear out old received files from host spool directories.
                    734: It removes any file which begins with PU (indicating a received punch
                    735: file) or PR (indicating a received print file) which is more than
                    736: 72 hours old from the
                    737: .I default
                    738: spool directory unless its options are used to specify otherwise.
                    739: .LP
                    740: It is invoked as follows:
                    741: .ID
                    742: bsclean [\(emt=<hh>] [<hostname>]
                    743: .DE
                    744: .NH 3
                    745: The Options
                    746: .IP \(bu
                    747: .I \(emt=<hh>
                    748: .IP
                    749: If a cutoff age of other than 72 hours is used to select files for removal, use
                    750: .I \(emt
                    751: to specify the age. 
                    752: .IP
                    753: Note:
                    754: .I <hh>
                    755: indicates age in hours.
                    756: .IP \(bu
                    757: .I <hostname>
                    758: .IP
                    759: To clean out the spool directory of any host other than
                    760: .I default,
                    761: specify this option.
                    762: .IP
                    763: Note: 
                    764: .I bsclean
                    765: does its work quietly. You'll know it is done when the system prompt
                    766: reappears.
                    767: .NH 3
                    768: Sample 
                    769: Invocations
                    770: .LP
                    771: Suppose that you've warned all your users that you're going to clean
                    772: out all received files in 3780's spool directory which are more than
                    773: five days old. When you set out to do so, you'll type:
                    774: .ID
                    775: bsclean \(emt=120 3780
                    776: .DE
                    777: .LP
                    778: If you'd rather just let
                    779: .I bsclean
                    780: do as it will (or you'd like all received files in
                    781: .I default's
                    782: spool directory removed which are older than 72 hours), you'll type:
                    783: .ID
                    784: bsclean
                    785: .DE
                    786: .NH 2
                    787: Purging the Communications Log
                    788: .LP
                    789: As time goes by, more and more communications sessions occur, and the
                    790: communications log gets larger and larger. 
                    791: .I bsclog's
                    792: purge function is used to reduce the size of the log.
                    793: .LP
                    794: It is invoked as follows:
                    795: .ID
                    796: bsclog  \(empurge=<dd> [<hostname>]
                    797: .DE
                    798: .NH 3
                    799: The Options
                    800: .IP \(bu
                    801: .I <hostname>
                    802: .IP
                    803: This option is specified if a spool directory other than
                    804: .I default's
                    805: is to be purged.
                    806: .IP \(bu
                    807: .I \(empurge=<dd>
                    808: .IP
                    809: .I \(empurge
                    810: is 
                    811: .I not
                    812: an optional parameter. If it isn't specified, 
                    813: .I bsclog
                    814: will assume that you wish to display the log, not purge it.
                    815: .IP
                    816: .I <dd>
                    817: signifies the age of entries to be purged, in days. It must be greater than
                    818: or equal to 1.
                    819: .IP
                    820: Note: there is no default age for purging entries. 
                    821: .IP
                    822: Also, 
                    823: .I bsclog
                    824: converts the number of days specified to the number of hours in that many
                    825: days, and compares that to an entry's age
                    826: before it decides whether or not to purge the entry. This may result in
                    827: some confusion when you try to purge all entries which were made 
                    828: yesterday, display the log to be sure they're gone, and find that
                    829: some are still there. That's probably because exactly
                    830: 24 hours haven't elapsed between the time the entries were made and the
                    831: time you decided to purge them. Don't worry \(em you'll get them next time.
                    832: .NH 3
                    833: Sample Purging Invocation
                    834: .LP
                    835: Let's say that you really do want to purge all communications log entries
                    836: which were made yesterday for the remote host 3780. Here's how:
                    837: .ID
                    838: bsclog 3780 \(empurge=1
                    839: .DE
                    840: .LP
                    841: Or, perhaps you're clearing out the
                    842: .I default
                    843: communications log so that there are only two days' worth of entries in the 
                    844: log at any time.
                    845: The following command will rid the log of any entry
                    846: which is at least three days old:
                    847: .ID
                    848: bsclog \(empurge=3
                    849: .DE
                    850: .NH
                    851: How To Use Cron To Make BSC Run Automatically
                    852: .LP
                    853: You may wish to have the spool directories and log files cleared automatically
                    854: on a regular basis. There is a resident clock daemon,
                    855: .I /etc/cron,
                    856: which executes commands at specified dates and times if those commands are
                    857: in a file called
                    858: .I 
                    859: /usr/lib/crontab. /etc/cron
                    860: .R
                    861: is usually started by the initialization process at boot time.
                    862: See
                    863: .I CRON(1M)
                    864: for more information about this facility.
                    865: .NH 2
                    866: Crontab Entries
                    867: .LP
                    868: Entries in
                    869: .I /usr/lib/crontab
                    870: consist of lines which each contain six fields separated by spaces or tabs.
                    871: The first five fields are numeric values specifying dates and times to execute
                    872: the command, which is specified in the sixth field. The date and time
                    873: fields may have the following values:
                    874: .DS
                    875: .ta 2i
                    876: Minute 0-59
                    877: Hour   0-23
                    878: Day of Month   1-31
                    879: Month of Year  1-12
                    880: Day of Week    0-6 (0 = Sunday)
                    881: .DE
                    882: .LP
                    883: They are specified in the same order as they're listed above. Entries are
                    884: made using the text editor.
                    885: .NH 2
                    886: Sample Entries
                    887: .LP
                    888: Suppose that you wanted to have bsclog purge all communications log entries
                    889: for 3780 once a month. Further, you've decided that the 15th of each month
                    890: at 1 a.m. would be a  good time to have this done. The following entry 
                    891: will do this for you:
                    892: .ID
                    893: 0 1 15 * * bsclog 3780 \(empurge=1
                    894: .DE
                    895: .LP
                    896: Or, suppose that you want to purge the log entries for
                    897: .I default
                    898: every week, after working hours on Fridays, leaving two days' worth of entries
                    899: untouched. Try the following
                    900: .I /usr/lib/crontab
                    901: entry:
                    902: .ID
                    903: 30 18 * * 5 bsclog \(empurge=2
                    904: .DE
                    905: .LP
                    906: This will purge all log entries older than two days at 6:30 p.m. every
                    907: Friday.
                    908: .LP
                    909: As a last example, suppose that all received files older than 72 hours in the
                    910: .I default
                    911: spool directory are to be removed daily, at 1 a.m. Use the following
                    912: .I /usr/lib/crontab 
                    913: entry:
                    914: .ID
                    915: 0 1 * * * bsclean
                    916: .DE
                    917: .SH
                    918: See Also:
                    919: .LP
                    920: .ID
                    921: BSCLOG(8)
                    922: BSCLEAN(8)
                    923: CRONTAB(8)
                    924: .DE
                    925: .FS
                    926: DLBA Version 1.2
                    927: .FE

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.