View Categories

Reactive events

The Reactive features basically lets the server react to events after they happen by executing batch scripts or to send custom messages.

An example would be to automatically scan uploaded files for viruses. The ability to execute external batch scripts also makes it possible to launch custom programs, scripts or to perform specific actions based on actual events.

Examples #

Please observe that the examples provided here are just that; examples. You may want (or need) to change the scripts or setup to suit your needs.

Send SMS when a specific user logs in #

Event in ProVide:

OnLoggedIn

Message in ProVide:

User logged in, proceed.%EXECUTE("C:\Scripts\NotifyOnLoggedIn.cmd" %USERNAME%)% 

Contents of file “C:\Scripts\NotifyOnLoggedIn.cmd”:

@echo off
rem Setup variables
set USER=
set PASS=
set TEXT=Login%%3A%1
set TO=555123456
set FROM=ProVideLogin

set PARAMS=acc=%USER%^^^&pass=%PASS%^^^&msg=%TEXT%^^^&to=%TO%^^^&from=%FROM%^^^&prio=3
rem Notify on certain users logging in
if /I “%1” == “Administrator” wget –delete-after http://smsgateway/send.php?%PARAMS% >NUL
if /I “%1” == “Backup” wget –delete-after http://smsgateway/send.php?%PARAMS% >NUL
if /I “%1” == “John” wget –delete-after http://smsgateway/send.php?%PARAMS% >NUL

Scan uploaded files for viruses with AVG #

This example illustrates how to use AVG to scan uploaded files for viruses. The script requires AVG to be installed.

Event in ProVide:

OnUploadEnd

Message in ProVide:

Closing data connection.%EXECUTE("C:\Scripts\Scan.cmd" "%LOCAL_FILENAME%")%

Contents of file “C:\Scripts\Scan.cmd”:

@echo off 
"C:\Program\AVG\AVG8\AVGSCANX.EXE" /HEUR /ARC /CLEAN /SCAN=%

Create thumbnails of uploaded images #

Event in ProVide:

OnUploadEnd

Message in ProVide:

Closing data connection.%EXECUTE(“C:\Scripts\CreateThumbnail.cmd” “%LOCAL_FILENAME%”)%

Contents of file “C:\Scripts\CreateThumbnail.cmd”:

@echo off
rem Extract file information and remove quotes
set FILE=%1
for /f "useback tokens=*" %%a in ('%FILE%') do set FILE=%%~a
set EXT=
if /I "%FILE:~-4%" == ".jpg" set EXT=.jpg
if /I "%FILE:~-4%" == ".gif" set EXT=.gif
if /I "%FILE:~-4%" == ".tif" set EXT=.tif
rem Only create thumbnails from selected formats
if (%EXT%) == () exit 0
rem We know all accepted formats have 3 character extensions
set THUMBFILE=%FILE:~0,-4%-thumbnail%EXT%
rem Use ImageMagick to create thumbnails
convert "%FILE%" -resize 100x100 -quality 90 "%THUMBFILE%" >NUL

Automatically backup a file before it is to be overwritten #

Event in ProVide:

OnUploadStart

Message in ProVide:

File status okay; about to open data connection.%EXECUTE(“C:\Scripts\Backup.cmd” “%LOCAL_FILENAME%”)%

Contents of file “C:\Scripts\Backup.cmd”:

@echo off
rem Extract file information and remove quotes
set FILE=%1
for /f “useback tokens=*” %%a in (‘%FILE%’) do set FILE=%%~a
rem Perform the backup
copy /v /y “%FILE%” “%FILE%.bak” >NUL

Send email on upload to a specific folder #

This example illustrates how to send a mail notification after a file has been uploaded to a specific folder. It also does a virus scan before sending the mail. It uses a separate script to generate the email data. This is done to get correct linefeeds in the email format. It also acts as a template for the email.

Event in ProVide:

OnUploadEnd

Message in ProVide:

Closing data connection.%EXECUTE(“C:\Scripts\MailOnUploadEnd.cmd” “%LOCAL_FILENAME%” “%FTP_FILENAME%”)%

Contents of file “C:\Scripts\MailOnUploadEnd.cmd”:

@echo off
REM Filenames may need special character codes.
chcp 1252
REM Virus scan the file, only send mail if the file still exists after the scan.
“C:\Program Files\AVG\AVG2012\AVGSCANX.EXE” /HEUR /ARC /CLEAN /TRASH /SCAN=%1
IF EXIST “%1” (
REM Only send mail for a specific folder.
SET FOLDER_FILTER=\Share this\
SET FOLDER_UPLOAD=%~p2
IF “%FOLDER_FILTER%”==”%FOLDER_UPLOAD%” ( C:\Scripts\MailTemplate.cmd %2 | C:\Scripts\msmtp\msmtp.exe mailinglist@example.net )
)


Contents of file “C:\Scripts\MailTemplate.cmd”:

@echo off
setlocal enableDelayedExpansion
set NL=^
REM Two empty lines required for newlines to work
echo SUBJECT:New file uploaded %~nx1!NL!
echo And here’s a link to it.!NL!http://www.test.com/%~nx1!NL! EndLocal

Call a bash script through cygwin when user change directory #

Event in ProVide:

OnChangeDirectory

Message in ProVide:

%EXECUTE(“C:\cygwin64\bin\bash” “C:\Scripts\parse.sh” “%FTP_DIRECTORY%” “%FTP_FILENAME%”)%

Message in ProVide:

#!/bin/bash
echo -n “Change dir from ” >> /cygdrive/x/cwd.log
echo -n $1 >> /cygdrive/x/cwd.log
echo -n ” to ” >> /cygdrive/x/cwd.log
echo $2 >> /cygdrive/x/cwd.log

Your Cart

Header test Qty Price
display quantity price
Product Name Qty Price

Extended offer, we're celebrating 20 years! 🎉 Dec 01 - Dec 31

New customers: 20% off – use code CELEBRATE2025

MEGA customers: 6 hours free support – use code MEGA2025

Existing customers: Get 50% off your upgrade – contact Louise

Recommended Products

Subtotal: Total

Total (inc. VAT): Total

Tax: Total

You save:
Total

maxi_provideserver

Choose your version of ProVide Server to download

For the ultimate experience of ProVide’s features and functions,
we recommend choosing the MAXI License.

Follow the 3 easy steps below to install ProVide Server
  1. Download the version you need using the buttons below.
  2. Get a free MAXI trial license by clickingk the “Get Maxi Trial License” button and enter your email. The license key will be sent to your email.
  3. Activate the license key by following this simple step-by-step-guide.

Your Cart

Header test Qty Price
display quantity price
Product Name Qty Price

Extended offer, we're celebrating 20 years! 🎉 Dec 01 - Dec 31

New customers: 20% off – use code CELEBRATE2025

MEGA customers: 6 hours free support – use code MEGA2025

Existing customers: Get 50% off your upgrade – contact Louise

Thank you for showing interest in trying ProVide Server

Follow the 3 easy steps below to install ProVide Server

  1. Download the version you prefer 32-bit or 64-bit
  2. Activate the license key by clicking on the ‘Request trial’ button below and enter your email. The key will then be sent to that address.
  3. To enter the license key follow this guide: free-trial

Subtotal: Total

Total (inc. VAT): Total

Tax: Total

You save: Total

Free Trial

Get
ProVide Software