Last active
April 21, 2020 02:54
-
-
Save tuklusan/4a2c687bae1c7c815f2836b2532f2232 to your computer and use it in GitHub Desktop.
SANYALNET-NODE-STATUS.COM (RAPTOR DEC ALPHASERVER OPENVMS): DEC ALPHA SERVER VMS OpenVMS DCL script to report status of DECnet nodes in SANYALnet Labs in HTML: See http://sanyal.duckdns.org/sanyalnet-labs-decnet-node-status.html (This script runs as a scheduled job on SYS$BATCH on RAPTOR Digital Alphaserver ES40 running OpenVMS Operating System)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$! --- | |
$! AUTHOR: SUPRATIM SANYAL | |
$! http://tuklusan.decsystem.org | |
$! --- | |
$ NODELIST = "IMPVAX,KARMA,PYRTR,QCOCAL,CLOUDY,JUICHI,FEDACH,FOMFOR,OSTARA,WEXPEE,ENTEE4,RAPTOR,MACOS9,WFW311,WXPEE2,TRU64,XLVII,TSTVAX,W2000S,MACOS7,RST101,TWENEX,VAXSTN,XLIV,PIPY,XL,NANAJU" | |
$ NODELIST = NODELIST + ",NJEVX1,NJEVX2,TWONKY,LV,MARIAH,SHAKTI,IBM390,MOKSHA,PYDNET,IMPRTR" | |
$! -- don't disturb other people's nodes -- NODELIST = NODELIST + ",1.750,MASON,DUNE,ZZYZZX,ALDUR,SUBWAY,CTAKAH,MIM,A12RTR,A22RTR,23.1023,34.1023,HUB,A61RTR" | |
$! | |
$ OUTPUT_HTML="DKA100:[OSUHTTPD.DOCUMENTS]sanyalnet-labs-decnet-node-status.html" | |
$! | |
$ SET PROC/PRIV=ALL | |
$ SET NOON | |
$ NCP="MCR NCP" | |
$! | |
$ OPEN/WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML 'OUTPUT_HTML'_TMP | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"" ""http://www.w3.org/TR/html4/loose.dtd""><html lang=""en-us""><head><TITLE>SANYALnet Labs: DECnet Node Status - DEC ALPHA SERVER VMS (RAPTOR)</TITLE>" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<meta http-equiv=""refresh"" content=""300"">" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<meta http-equiv=""Content-type"" content=""text/html; charset=ISO-8859-1"">" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<META content=""Status of servers communicating over DECnet networking protocol in Supratim Sanyal''s Hobbyist Laboratory"" name=description>" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<META content=""DEC,Alpha,Alphaserver,Alpha Server,Digital,OpenVMS,VMS,DECnet,OSU HTTP Server,OSU HTTPD,Alphaserver ES40"" name=keywords>" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<link rel=""canonical"" href=""http://sanyal.duckdns.org/sanyalnet-labs-decnet-node-status.html"" />" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<link rel=""shortcut icon"" href=""/images/favicon.ico"" /><link rel=""icon"" href=""/images/favicon.ico"" />" | |
$! -- no stylesheet -- WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<link rel=""stylesheet"" href=""/styles/styles.css"" />" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<meta name=""viewport"" content=""initial-scale=1""></head><body>" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<div align=""center""><img src=""/images/digital-heading.png"" alt=""SANYALnet Labs Digital Equipment Corporation DEC Heading Logo""></div>" | |
$ TNOW=F$TIME() | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<p><a href=""/"">RAPTOR ALPHASERVER</a></p><p><img src=""/images/sanyalnet-labs-logo-tr.gif"" alt=""SANYALnet Labs | Supratim Sanyal's Computing Hobby Lab""></p>" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<h1>SANYALnet Labs DECnet Nodes Status</h1>" | |
$! -- Start Google CSE -- | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<div id='google-cse'><script>" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML " (function() {" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML " var cx = '015567988034387983255:4ulgqks3d_a';" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML " var gcse = document.createElement('script');" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML " gcse.type = 'text/javascript';" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML " gcse.async = true;" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML " gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML " var s = document.getElementsByTagName('script')[0];" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML " s.parentNode.insertBefore(gcse, s);" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML " })();" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "</script>" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<gcse:search></gcse:search></div>" | |
$! -- End Google CSE -- | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<p>As of ''TNOW' UTC:</p>" | |
$! | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<hr>" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<pre>" | |
$ DEFINE/USER SYS$OUTPUT FD_OUTPUTHTML ! Valid for only next image execution | |
$ SHOW CPU /BRIEF | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "</pre>" | |
$! | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<pre>" | |
$ DEFINE/USER SYS$OUTPUT FD_OUTPUTHTML ! Valid for only next image execution | |
$ SHOW NETWORK | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "</pre>" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<hr>" | |
$! | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<table border=""1""><caption>Selected Node Status</caption>" | |
$ NEXT = 0 | |
$ LOOP: | |
$ NODE = F$ELEMENT(NEXT,",",NODELIST) | |
$ IF (NODE .NES. ",") | |
$ THEN | |
$ ! TRY A LOOP; IF RESULT IS ANYTHING EXCEPT "%SYSTEM-F-UNREACHABLE" ASSUME NODE IS REACHABLE | |
$ PIPE (NCP LOOP NODE 'NODE') | SEARCH SYS$INPUT "%SYSTEM-F-UNREACHABLE" | |
$ NCPSTAT=$STATUS ! SEARCH RESULT: %X10000001 = SUCCESS, %X18D78053 = FAILED | |
$ IF NCPSTAT .EQ. %X10000001 ! NODE IS UNREACHABLE | |
$ THEN | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<tr><td bgcolor=""red""> </td>" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<td><a target=""_blank"" href=""http://mim.update.uu.se/hecnod?node=''NODE'"">''NODE' »</a></td></tr>" | |
$ ELSE ! IS REACHABLE | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<tr><td bgcolor=""#55ff55""> </td>" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<td><a target=""_blank"" href=""http://mim.update.uu.se/hecnod?node=''NODE'"">''NODE' »</a></td></tr>" | |
$ ENDIF | |
$ NEXT = NEXT + 1 | |
$ GOTO LOOP | |
$ ENDIF | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "</table>" | |
$! | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<h1>RAPTOR Active DECnet Information</h1>" | |
$! | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<h2>RAPTOR Active DECnet Areas</h2><pre>" | |
$ DEFINE/USER SYS$OUTPUT FD_OUTPUTHTML ! Valid for only next image execution | |
$ NCP SHOW ACTIVE AREAS | |
$! | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "</pre><h2>RAPTOR Active DECnet Circuits</h2><pre>" | |
$ DEFINE/USER SYS$OUTPUT FD_OUTPUTHTML ! Valid for only next image execution | |
$ NCP SHOW ACTIVE CIRCUITS | |
$! | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "</pre><h2>RAPTOR Active DECnet Nodes</h2><pre>" | |
$ DEFINE/USER SYS$OUTPUT FD_OUTPUTHTML ! Valid for only next image execution | |
$ NCP SHOW ACTIVE NODES | |
$! | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "</pre><h2>RAPTOR NTP Time Synchronization Status</h2><pre>" | |
$ DEFINE/USER SYS$OUTPUT FD_OUTPUTHTML ! Valid for only next image execution | |
$ ntpdc -c sysinfo | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "</pre>" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<hr>" | |
$! | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<p>Created by a DCL Command Procedure and presented by OSU/DECthreads HTTP-server / Digital AlphaServer ES40 / OpenVMS Alpha 8.3.</p>" | |
$!-- WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<p><img src=""digital.png"" width=""200"" height=""62"" alt=""Logo of DEC (Digital Equipment Corporation)""></p>" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<p><img src=""/images/digital-logo-400x124.png"" width=""200"" height=""62"" alt=""Logo of DEC (Digital Equipment Corporation)""></p>" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "<p><a href=""/"">Home »</a></p>" | |
$ WRITE/ERROR=ERR_EXIT FD_OUTPUTHTML "</body></html>" | |
$ CLOSE FD_OUTPUTHTML | |
$! | |
$ IF F$SEARCH("''OUTPUT_HTML'") .NES. "" THEN DELETE/LOG/NOCONFIRM 'OUTPUT_HTML';* ! OTHERWISE WE FAIL AT VERSION 32767 | |
$ RENAME /NOCONFIRM /LOG 'OUTPUT_HTML'_TMP 'OUTPUT_HTML' | |
$! PURGE /NOCONF 'OUTPUT_HTML' | |
$ SET FILE/PROT=(S:R,O:R,G:R,W:R) 'OUTPUT_HTML' | |
$ DIR /FULL 'OUTPUT_HTML' | |
$ EXIT | |
$! | |
$ ERR_EXIT: | |
$ CLOSE FD_OUTPUTHTML | |
$ EXIT |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment