Setting Up Pre/Post

Execute scripts before and after the FASP file transfers on your server.

Your Aspera server executes a shell script at a pre-defined location.

/opt/aspera/var/

This script is executed as a result of four (4) transfer events:

The aspera-prepost script can also execute additional shell scripts, Perl scripts, native executables, and Java programs. Aspera also sets several environment variables for aspera-prepost that you can use in your own, custom scripts. These environment variables are described in detail in Pre/Post Variables. Depending on usage, pre- and post-processing may consume a large amount of system resources. Be sure to evaluate your own system performance and apply this feature appropriately.

CAUTION:
When creating pre- and post-processing scripts, Be aware that an unsafe script can compromise a server. As with CGI scripts, you should take precautions in testing a pre/post script before placing it into use (such as taint checking, ensuring proper quotes, and so on). Also note that a pre/post script runs as the same user who authenticates the transfer. To prevent a pre/post script from performing an action with elevated or special user permissions, the script needs to check the $USER variable.

Follow the steps below to set up pre/post processing for your Aspera transfer product:

  1. Set up the shell script file.

    Locate the following file:

    /opt/aspera/var/aspera-prepost.disable

    This file runs the perl script aspera-notif.pl, which is an email notification script that sends emails (according to user-defined filters) to one or more recipients. Filters and lists are defined in the Aspera configuration file aspera.conf, which is located in /opt/aspera/etc.

    Copy the contents of aspera-prepost.disable into a new file, and name it as follows:

    /opt/aspera/var/aspera-prepost

    Ensure that execute privileges are enabled (at least r-xr-xr-x).

  2. Create your scripts.

    The pre/post processing script, aspera-prepost, can contain the pre/post processing steps, as well as execute other programs (including other .bat scripts). Often, aspera-prepost checks for certain conditions (based on environment variables), and then calls a specific external executable based on those conditions. Recall that aspera-prepost is executed as a result of four (4) transfer events:

    • session start
    • session end
    • start of each individual file transfer in the session
    • end of each individual file transfer in the session

    You can use the variables TYPE and STARTSTOP to specify a particular state. For the complete list of all variables, see Pre/Post Variables.

  3. Include custom scripts in aspera-prepost.

    Custom scripts can be written directly into the script file aspera-prepost. For example, to add the custom script "script1.pl" to your pre/post script, insert the following line (into aspera-prepost):

    ...
    perl script1.pl
    ...