= 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. \\
{{tag>bash}}
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 [[sshloginwithoutpassword]]