Table of Contents

Bash: Function: Offsitecopy

Summary: A bash function to copy files to a different location.
Date: Around 2018
Refactor: 8 March 2025: Checked links and formatting.

This is an external function used in several other scripts. The point is that you can use the same external functions within multiple scripts.

function offsitecopy {
        COPY=`echo ${1}`
        TOUSER="${2}"
        TOHOST="${3}"
        TODIR="${4}"
        LOGFILE="${5}"
        WHATAMI="${6}"
        HOSTNAME="${7}"
        MAILTOSUCCESS="${8}"
        MAILTOFAIL="${9}"
        DATESTAMP=`date +%Y"-"%m"-"%d" "%H":"%M`
        echo >> $LOGFILE
        echo "Starting Copy of $COPY[@] to ${TOHOST}..." >> $LOGFILE
        echo >> $LOGFILE
        if scp ${COPY} $TOUSER@$TOHOST:$TODIR  ;then
           echo "Copy of ${COPY[@]} " >> $LOGFILE
           echo "to $TOUSER@$TOHOST:$TODIR Success" >> $LOGFILE
           echo >> $LOGFILE
           cat $LOGFILE | mail -s "Succes ${WHATAMI} copy on $HOSTNAME" $MAILTOSUCCESS
        else
           echo "Copy of ${COPY[@]} " >> $LOGFILE
           echo "to $TOUSER@$TOHOST:$TODIR FAILED" >> $LOGFILE
           echo >> $LOGFILE
           cat $LOGFILE | mail -s "FAILED ${WHATAMI} copy on $HOSTNAME" $MAILTOFAIL
        fi
}

Mail

This is just a normal text file, used to determine variables that are used in multiple scripts:

MAILTOSUCCESS="sjoerd_warmetal_nl"
MAILTOFAIL="sjoerd_warmetal_nl"

Automatic Copy

To make sure the script doesn't need passwords when copying data take a look at SSH Login Without Password