Al

Here are 2 for you

The one runs from a screen then other I execute from a crontab via a Unix
script

Hope they help

Bob



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Al DeWitt
Sent: 25 June 2004 00:10
To: ([EMAIL PROTECTED])
Subject: [U2] Monitoring a count of users logged on


I need to be able to monitor the number of users logged into the server.  I
would want this to run periodically (say every 10 minutes) Monday through
Friday, 08:00 - 15:00.  I would like the output to go to a text file for
later analysis.  The output could be as simple as Date, Time, # of Users
logged in.

Is this something I can do via UniAdmin?  Do I need to write a basic program
and run it as a phantom?

Thanks.

Al DeWitt
Stylmark, Inc.
763-574-8705
[EMAIL PROTECTED]
-------
u2-users mailing list
[EMAIL PROTECTED]
To unsubscribe please visit http://listserver.u2ug.org/

______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________

______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
*-%-%------------------------------------------------------------------*
      SUBROUTINE EWWATCHER
*----------------------------------------------------------------------*
* This computer program is the sole copyright of TRAVELLOG SYSTEMS LTD *
* It may not be copied, reproduced or used save as licenced.           *
* Legal action will be taken against any infringement of copyright     *
* and or licence agreements.                                           *
* (C) TRAVELLOG SYSTEMS LTD 2004                                       *
************************************************************************
*                                                                      *
* ..... PROGRAM TITLE                                                  *
*       EWWATCHER                                                      *
*                                                                      *
* ..... PROGRAM DESCRIPTION                                            *
*       EWWATCHER                                                      *
*                                                                      *
*  Ver Date      Who      Description                                  *
*  --- ----      ---      -----------                                  *
* 1.00 01 MAR 04 bob      Created                                      *
*                                                                      *
************************************************************************
*                                                                      *
* ..... Arguments required by this routine :-                          *
*       NONE                                                           *
*                                                                      *
************************************************************************
*                                                                      *
* ..... External Subroutine Calls :-                                   *
*       D$DRIVER                                                       *
*                                                                      *
************************************************************************
*                                                                      *
* ..... This program called from the following programs :-             *
*       UNKNOWN                                                        *
*                                                                      *
************************************************************************
*                                                                      *
* ..... WARNING!  LEAVE LINE BELOW FOR HEADER REGENERATION - THANK YOU *
*%*%********************************************************************
*
$INCLUDE TL.LIB K_COMMON
*
*
*     D$004SA1 WILL SET UP SCREEN.ID HERE
*
*
      SCREEN.ID = "EWWATCHER"
*
      C.VERSION = "1.00"
      CALL D$DRIVER(SCREEN.ID)
*
      RETURN
*
*
   END
      CRT "X906944 Start ":OCONV(DATE(),'D2'):" ":OCONV(TIME(),'MTS')
      OPEN '',"x906944" TO FL ELSE STOP "NO FILE"
      EOT = ''
      USERID = ''
      EXECUTE "! cat /etc/passwd " CAPTURING ALL.THE.USERS
      NO.USER = DCOUNT(ALL.THE.USERS,@FM)
      FOR XX = 1 TO NO.USER
         USERID = FIELD(ALL.THE.USERS<XX>,':',1)
         IF USERID NE '' THEN
            FOUND = ''
            C="! users"
            EXECUTE C CAPTURING R
            CONVERT ' ' TO @FM IN R
            N=DCOUNT(R,@FM)
            FOR I = 1 TO N
               L = R<I>
               IF L = USERID THEN
                  FOUND = 1
                  EXIT
               END
            NEXT
            READ REC FROM FL,USERID:'*':DATE() THEN
            END ELSE
               REC = ''
            END
            LASTPOS = DCOUNT(REC<1>,@VM)
            BEGIN CASE
               CASE REC<1,LASTPOS> = "OFF" AND FOUND
                  REC<2,-1> = OCONV(TIME(),'MTS')
                  REC<1,-1>='ON'
                  REC<3,-1>=OCONV(DATE(),'D4/')
                  GOSUB UPDATETIMES
                  WRITE REC ON FL,USERID:'*':DATE()
               CASE REC<1,LASTPOS> = "" AND FOUND
                  REC<2,-1> = OCONV(TIME(),'MTS')
                  REC<1,-1>='ON'
                  REC<3,-1>=OCONV(DATE(),'D4/')
                  GOSUB UPDATETIMES
                  WRITE REC ON FL,USERID:'*':DATE()
               CASE REC<1,LASTPOS> = 'OFF' AND NOT(FOUND)
               CASE REC<1,LASTPOS> = 'ON' AND FOUND
                  GOSUB UPDATETIMES
                  WRITE REC ON FL,USERID:'*':DATE()
               CASE REC<1,LASTPOS> = 'ON' AND NOT(FOUND)
                  REC<2,-1> = OCONV(TIME(),'MTS')
                  REC<1,-1>='OFF'
                  REC<3,-1>=OCONV(DATE(),'D4/')
                  WRITE REC ON FL,USERID:'*':DATE()
               CASE 1
            END CASE
         END
      NEXT XX
      CRT "X906944 End ":OCONV(DATE(),'D2'):" ":OCONV(TIME(),'MTS')
      RETURN
UPDATETIMES:
      CMD = "! ps -ef | grep ":USERID:" | grep -v grep "
      EXECUTE CMD CAPTURING PIDLIST
      NO.PIDS = DCOUNT(PIDLIST,@VM)
      FOR AA = 1 TO NO.PIDS
         LNE = TRIM(PIDLIST<AA>)
         PID = FIELD(LNE,' ',2)
         TME = FIELD(LNE,' ',7)
         TME = ICONV(TME,'MT')
         LOCATE PID IN REC<4,1> BY 'AR' SETTING PIDPOS THEN
            REC<5,PIDPOS> = TME
            REC<6,PIDPOS> = TIME()
         END ELSE
            REC<4,PIDPOS> = PID
            REC<5,PIDPOS> = TME
            REC<6,PIDPOS> = TIME()
         END
      NEXT AA
      RETURN
   END
-------
u2-users mailing list
[EMAIL PROTECTED]
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to