= 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]]