VoyForums
[ Show ]
Support VoyForums
[ Shrink ]
VoyForums Announcement: Programming and providing support for this service has been a labor of love since 1997. We are one of the few services online who values our users' privacy, and have never sold your information. We have even fought hard to defend your privacy in legal cases; however, we've done it with almost no financial support -- paying out of pocket to continue providing the service. Due to the issues imposed on us by advertisers, we also stopped hosting most ads on the forums many years ago. We hope you appreciate our efforts.

Show your support by donating any amount. (Note: We are still technically a for-profit company, so your contribution is not tax-deductible.) PayPal Acct: Feedback:

Donate to VoyForums (PayPal):

Login ] [ Contact Forum Admin ] [ Main index ] [ Post a new message ] [ Search | Check update time ]


[ Next Thread | Previous Thread | Next Message | Previous Message ]

Date Posted: 09:57:50 12/15/03 Mon
Author: RE: dina
Subject: Re: email bomb
In reply to: amnesia 's message, "email bomb" on 16:17:38 04/20/03 Sun

>does anybody have the code to read emails without
>opening them? I know you put your cursor over the
>unopened email & hit ctrl/cmd at the same time to get
>the id #, but from there I don't know.....
##########################################################################################
# #
# RemotelyAnywhere System Monitoring Sample Scripts #
# #
# RemotelyAnywhere provides a mechanism for monitoring certain aspects of a computer system, #
# and alert the system administrator if anything 'out of ordinary' happens. #
# #
# The system administator can create scripts, that define the behavior of the system monitoring #
# module. Some sample scripts are provided below to help you get started. #
# #
# Before you use these sample scripts, you might want to tailor their behavior to better suit #
# your configuration and your needs. You will also have to enter the Configuration dialog in #
# RemotelyAnywhere, and set up an SMTP server under 'Preferences/Network' if you want to make use #
# of alerting via email. #
# #
# THIS SOFTWARE IS PROVIDED BY 3AM LABS LTD ``AS IS'' AND #
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE #
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE #
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE #
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL #
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS #
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) #
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT #
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY #
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF #
# SUCH DAMAGE. #
# #
###################################################################################################

###################################################################################################
# #
# Global Error Handler #
# #
# This error handler is invoked when one of the rules below encounters an error. #
# #
###################################################################################################

ERROR
{
Log("\"[RULE]\" has failed at instruction \"[ERROR_SOURCE]\" with "
"the following error: [ERROR_MESSAGE]");

SendMail("YourAccount@YourProvider", "RemotelyAnywhere failure",
"RemotelyAnywhere on [MACHINE] encountered the following error:\n"
"[RULE]\n[ERROR_SOURCE]\n[ERROR_MESSAGE]");
}

###################################################################################################
# #
# Check free space on disk C #
# #
# Script that demonstrates the use of the following: #
# #
# DiskFreeSpaceUnder #
# Execute #
# SendMail #
# #
###################################################################################################

"(Sample) Check free space on disk C" (1h) # check every hour
{

DiskFreeSpaceUnder("C:\\", 128M)
# if C:\ has less than 128 megabytes free, execute the code below
{
#Execute("C:\\Program Files\\RemotelyAnywhere\\Cleanup.bat > C:\\Temp\\Cleanup.txt");
# Execute Cleanup.bat, and redirect its output into Cleanup.txt (Uncomment the above
# line to enable executing a batch file.)

SendMail("YourAccount@YourProvider", "[MACHINE] C disk full",
"[MACHINE] has run out of disk space on drive C.\n"
"It has [FREE_MBYTES]/[TOTAL_MBYTES] MBytes ([FREE_PERCENT]) free space.\n"
"\n"
"Cleanup.bat returned:\n"
"[FILE C:\\Temp\\Cleanup.txt]\n");
# Send an email with the above contents, also include the output from Cleanup.bat
} else {
SendMail("YourAccount@YourProvider", "Disk space back to normal",
"[MACHINE] has now enough disk space on drive C.\n"
"It has [FREE_MBYTES]/[TOTAL_MBYTES] MBytes ([FREE_PERCENT]) free space.\n");
}

}

###################################################################################################
# #
# Check processor utilization #
# #
# Script that demonstrates the use of the following: #
# #
# ProcUsageAboveFor #
# Log #
# #
###################################################################################################

"(Sample) Check processor utilization" (20s) # check every 20 seconds
{

ProcUsageAboveFor(80%, 1m)
# if the processor usage has been above 80% for one minute, execute the code below
{
Log("Processor utilization is above 80% for a minute. "
"(Average: [AVG_USAGE], Max: [MAX_USAGE], Min: [MIN_USAGE])");
# make an entry in the RemotelyAnywhere.log file
}
}

###################################################################################################
# #
# Check memory utilization #
# #
# Script that demonstrates the use of the following: #
# #
# MemUsageAboveFor #
# SendMessage #
# #
###################################################################################################

"(Sample) Check memory utilization" (30s) # check every 30 seconds
{

MemUsageAboveFor(90%, 1m)
# if the memory usage has been above 90% for one minute, execute the code below
{
SendMessage("Administrator", "High memory utilization!\n(Max: [MAX_USAGE])");
# send an administrative message to the Administrator
}
}

###################################################################################################

###################################################################################################
# #
# Monitor traffic on modem #
# #
# Script that demonstrates the use of the following: #
# #
# NetInUsageAboveFor #
# NetOutUsageAboveFor #
# SendMail #
# #
# Please note that this script can be modified to monitor any network adapter in the system. #
# Simply replace the adapter ID (4 in this case) with the ID of the network adapter you wish to #
# monitor. Network adaper IDs can be found by looking at the Network Adapters page under #
# Performance in RemotelyAnywhere. #
# #
###################################################################################################

"(Sample) Monitor traffic on modem" (1m) # check every minute
{

NetInUsageAboveFor(4, 90%, 10m) or NetOutUsageAboveFor(4, 90%, 10m)
# if the incoming or outgoing traffic is above 90% for ten minutes on adapter 4,
# execute the code below
{
SendMail("YourAccount@YourProvider", "High traffic on adapter 4",
"[DATE] [TIME]: see subject");
# send email
}
}

###################################################################################################
# #
# Check web server #
# #
# Script that demonstrates the use of the following: #
# #
# CheckAnswer #
# SendMessage #
# #
###################################################################################################

"(Sample) Check web server" (10m) # check every ten minutes
{
CheckAnswer("localhost:80", "HEAD / HTTP/1.0\n\n", "HTTP/1.1 200 OK", 2m)
# connect to port 80 on localhost, send the first string, and wait for up to two
# minutes for the second string
{
SendMessage("Administrator", "HTTP server down! Response: \"[ANSWER]\"");
# send an administrative message to the Administrator
} else {
SendMessage("Administrator", "HTTP server is back online.");
# send an administrative message to the Administrator
}
}

###################################################################################################
# #
# Check for email #
# #
# Script that demonstrates the use of the following: #
# #
# Small #
# SendMessage #
# #
###################################################################################################

"(Sample) CheckEmail" (10s)
{

#Call the Small script 'Email.sma'. You should edit this file and update
#it with your POP server and email account.

Small("Email")
{
SendMessage("Administrator", "You have [SMALL_RES] new email messages.");
}
else
{
#NULL action - you should provide an empty ELSE branch here
}
}


###################################################################################################
# #
# Watch a process #
# #
# Script that demonstrates the use of the following: #
# #
# Small #
# SendMessage #
# Log #
# Execute #
# #
###################################################################################################

"(Sample) Check Process" (10s)
{

#Call the Small script 'WatchProcess.sma'. You should edit this file and update
#it with the process you are watching for, it is currently checking for Notepad.
#A similar script can be easily developed for services.

Small("WatchProcess")
{
Log("Notepad.exe is not running. Attempting to start it.");
SendMessage("Administrator", "Notepad.exe is not running. Attempting to start it.");
Execute("start notepad.exe");
}
else
{
Log("Notepad.exe is back online.");
SendMessage("Administrator", "Notepad.exe is back online.");
}
}

###################################################################################################
# #
# Monitor the contents of a directory #
# #
# Script that demonstrates the use of the following: #
# #
# DirChanged, DirChangedSubtree #
# WriteFile #
# #
###################################################################################################

"(Sample) Monitor System Directory" (10m)
{
DirChangedSubtree("%SystemRoot%")
# If the contents of C:\WINDOWS or any subdirectories change, the following block is executed
# Note: if you use DirChanged instead of DirChangedSubtree only C:\WINDOWS will be monitored
# Note: be careful monitoring large directories frequently, it may be memory and CPU consuming
{
# Append change information to C:\WINDOWS.txt
# the [DIRCHANGED_*] variables contain information about one file per line with the
# following format:
# \t\t\r\n
WriteFile("%SystemDrive%\\WINDOWS.txt",
"---------------------------------------\r\n"
"Contents of C:\\WINDOWS changed\r\n"
"---------------------------------------\r\n"
"\r\n"
"New files / folders:\r\n"
"[DIRCHANGED_NEW]\r\n"
"Modified files / folders:\r\n"
"[DIRCHANGED_MODIFIED]\r\n"
"Deleted files / folders:\r\n"
"[DIRCHANGED_DELETED]\r\n"
"\r\n");
}
# Note: It's meaningless to define an else branch to rules containing a DirChangedSubtree
# condition, it will never be executed
}


###################################################################################################
# #
# Monitor folder size #
# #
# Script that demonstrates the use of the following: #
# #
# DirSizeAbove, DirSizeAboveSubtree #
# SendMessage #
# #
###################################################################################################

"(Sample) Temporary folder size" (30s)
{
DirSizeAboveSubtree("%Temp%", 100M)
# If the size of the temporary directory (including subdirectories) is above 100 Megabytes,
# the following block is executed
# Note: be careful monitoring large directories frequently, it may be memory and CPU consuming
{
SendMessage("Administrator", "Temporary folder is too large!\r\n([DIR_SIZE] bytes)");
}
else
{
SendMessage("Administrator", "Temporary folder size has been normalized.\r\n([DIR_SIZE] bytes)");
}
}


###################################################################################################
# #
# Monitor user activity #
# #
# Script that demonstrates the use of the following: #
# #
# UserActivityChanged #
# WriteODBC #
# #
###################################################################################################

"(Sample) Monitor Interactive User" (1s)
{
UserActivityChanged()
# If there is an interactive user and he/she begins a new task,
# the following action block is executed with information about the previous task
# Note: the user interface application (RAGUI.exe) must be running to monitor user activity
{
# send task information to ODBC data source (see Preferences / ODBC messages)
WriteODBC("[INTERACTIVE_USER]", "\"[ACTIVE_PROCESS]\" "
"(PID: [ACTIVE_PID], time: [ACTIVE_FOR]) [ACTIVE_CAPTION]");
}
# Note: It is meaningless to define an else branch to rules containing a UserActivityChanged
# condition, it will never be executed
}


###################################################################################################
# #
# Monitor ping round-trip times to a computer #
# #
# Script that demonstrates the use of the following: #
# #
# Small #
# WriteFile #
# #
###################################################################################################

"(Sample) Ping" (1m) # check every minute
{

# Call the Small script 'Ping.sma'. You should edit this file and update
# it with the name of the computer to ping and timeout settings
# it returns 0 if everything's ok, or the maximum round-trip time on consecutive timeouts

Small("Ping")
{
WriteFile("C:\\Ping.txt", "[DATE] [TIME]: Ping timed out ([SMALL_RES] ms).");
}
else
{
WriteFile("C:\\Ping.txt", "[DATE] [TIME]: Successful ping.");
}

[ Next Thread | Previous Thread | Next Message | Previous Message ]


Replies:


Post a message:
This forum requires an account to post.
[ Create Account ]
[ Login ]
[ Contact Forum Admin ]


Forum timezone: GMT-8
VF Version: 3.00b, ConfDB:
Before posting please read our privacy policy.
VoyForums(tm) is a Free Service from Voyager Info-Systems.
Copyright © 1998-2019 Voyager Info-Systems. All Rights Reserved.