Last active
December 15, 2016 08:15
-
-
Save tnrn9b/8a4559b69398c7d9fc68a2fd07b18e6c to your computer and use it in GitHub Desktop.
server connectivity email notification
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
//*********************************************************** | |
//* | |
//* Name: SRVPING | |
//* Type: ILE RPG Program | |
//* Desc: Check HOST connectivity | |
//* Auth: Thomas Reynolds | |
//* | |
//*********************************************************** | |
//* | |
/FREE | |
Ctl-Opt DFTACTGRP(*NO) BNDDIR('QC2LE'); | |
Dcl-s IPADDR CHAR(13) Inz('11.1.11.11'); | |
Dcl-s sep CHAR(1) Inz(''''); | |
Dcl-s cmdstr CHAR(500); | |
Dcl-s emlstr CHAR(500); | |
Dcl-s ServErr IND; | |
Dcl-s currTime CHAR(8); | |
Dcl-s currDate CHAR(10); | |
Dcl-s emlchk CHAR(500); | |
//*--------------------------------------------------------- | |
//* Prototype for QCMDEXC | |
//* params: command, command length, double-byte data request | |
//*--------------------------------------------------------- | |
Dcl-PR qcmdexc ExtPgm('QCMDEXC'); | |
cmd CHAR(500) Const Options(*VarSize); | |
len PACKED(15:5) Const; | |
dby CHAR(3) Options(*NoPass); | |
END-PR; | |
cmdstr = 'VFYTCPCNN RMTSYS(*INTNETADR) INTNETADR(' + | |
sep + %Trim(IPADDR) + sep + | |
') PKTLEN(32) WAITTIME(3) MSGMODE(*VERBOSE *ESCAPE)'; | |
currDate = %Char(%Date():*USA); | |
currTime = %Char(%Time():*USA); | |
Eval emlchk = 'SNDSMTPEMM RCP(([email protected] *PRI) ([email protected] *CC)) ' + | |
'SUBJECT(' + sep + 'SERVER OKAY' + sep + ') NOTE(' + sep + | |
'<h1> SERVER OKAY </h1><p>DATE: ' + currDate + | |
'</p><p>TIME: ' + currTime + '</p>' + sep + | |
') CONTENT(*HTML)'; | |
Eval emlstr = 'SNDSMTPEMM RCP(([email protected] *PRI) ([email protected] *CC)) ' + | |
'SUBJECT(' + sep + 'SERVER DOWN' + sep + ') NOTE(' + sep + | |
'<h1> SERVER DOWN </h1><p>DATE: ' + currDate + | |
'</p><p>TIME: ' + currTime + '</p>' + sep + | |
') CONTENT(*HTML)'; | |
EXSR check_server; | |
IF (ServErr); | |
CallP qcmdexc(emlstr:%Len(%Trim(emlstr))); | |
ELSE; | |
CallP qcmdexc(emlchk:%Len(%Trim(emlchk))); | |
ENDIF; | |
*InLr = *On; | |
BEGSR check_server; | |
MONITOR; | |
CallP qcmdexc(cmdstr:%Len(%Trim(cmdstr))); | |
ServErr = *Off; | |
ON-ERROR ; | |
ServErr = *On; | |
ENDMON; | |
ENDSR; | |
/END-FREE |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment