$! ********************************************************************** $! * UPTIME * $! * Display cluster uptime and status of individual nodes. * $! * * $! * 02-FEB-1994 RDJ Command Procedure Creation * $! ********************************************************************** $ On Control_Y Then Goto Exit $ Esc[0,8] = 27 ! For ANSI escape sequences $ Graph_On = Esc + "(0" ! Turn graphics mode on $ Graph_Off = Esc + "(B" ! Turn graphics mode off $ Bold = Esc + "[1m" ! Turn bold on $ Normal = Esc + "[0m" ! Turn attributes off $ Clear = Esc + "[2J" + Esc + "[H" ! Clear the screen $ Blink = Esc + "[5m" ! Turn blinking on $ Bell[0,8] = 7 ! Terminal Beep $ WO == "Write SYS$OUTPUT" ! Write to SYS$OUTPUT $ Cluster_Member = F$GetSyi("Cluster_Member") ! clustered environment? $ Today = F$CvTime(,"Absolute","Date") ! today's date $ Yesterday = F$CvTime("Yesterday","Absolute","Date") ! yesterday's date $! $ WO Clear,Graph_On,"lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk" $ If Cluster_Member Then - WO "x ",Graph_Off," Cluster Uptime since ''F$GetSYI(""Cluster_FTime"")' ",Graph_On," x" $ WO "x ",Graph_Off,"Node Hardware OS Version DECnet Boot Time ",Graph_On,"x" $ WO "tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu" $ Context = "" $ Get_Next_Node: $ If Cluster_Member $ Then $ Node_ID = F$CSID(Context) $ If Node_ID .EQS. "" Then Goto No_More_Nodes $ Node_Name = F$GetSyi("NodeName",,Node_ID) $ Boot_Time = F$Extract(0,17,F$GetSyi("BootTime",,Node_ID)) $ Else $ Node_Name = F$GetSyi("NodeName") $ Boot_Time = F$Extract(0,17,F$GetSyi("BootTime")) $ EndIf $ HW_Type = F$GetSyi("Node_HWType",Node_Name) $ HW_Name = F$GetSyi("HW_Name",Node_Name) $ SW_Type = F$GetSyi("Node_SWType",Node_Name) $ SW_Version = F$GetSyi("Node_SWVers",Node_Name) $ Node_Area = F$GetSyi("Node_Area",Node_Name) $ Node_number = F$GetSyi("Node_Number",Node_Name) $ If F$Edit(F$Extract(0,11,Boot_Time),"Collapse") .EQS. Today Then - Boot_Time = Bold + Blink + Boot_Time + Normal $ If F$Edit(F$Extract(0,11,Boot_Time),"Collapse") .EQS. Yesterday Then - Boot_Time = Bold + Blink + Boot_Time + Normal $ Print_Line: $ Line = F$FAO("!6AS !16AS (!4AS) !4AS !6AS !2UB.!3UB !AS", - Node_Name,HW_Name,HW_Type,SW_Type,SW_Version,Node_Area, - Node_Number,Boot_Time) $ WO "x ",Graph_Off,Line,Graph_On," x" $ If Cluster_Member Then - Goto Get_Next_Node $ No_More_Nodes: $ WO "mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj",Graph_Off $ Exit: $ WO Graph_Off $ Exit