D-Link Forums
		The Graveyard - Products No Longer Supported => D-Link Storage => DNS-323 => Topic started by: phanos on May 12, 2013, 05:09:40 AM
		
			
			- 
				Hi I am having a strange problem regarding my DNS-323. I have written a script that detects and moves certain files of a specific directory. The script works fine when I run it from a shell prompt but it has issues when it is run from crontab or start up folder (/ffp/start/). 
 
 Specifically when it is run from the crontab or /ffp/start the script fails on the following line
 
 a=$(echo $line | tr ";" "\n")
 
 The above line replaces the character ";" with the "\n". What I am attempting to do with this line is to separate the string in $line into substrings. Again this works fine when run from the shell prompt but when it is run from elsewhere the above line gives back an empty line.
 
 Did anyone else experience anything similar to my problem? Does anyone knows how to solve my problem?
 
 Thanks
- 
				First thing that comes to mind is to ensure your environment (path) is set is the crontab environment, or just fully qualify any command. i.e replace "tr" with "/{--path--}/tr".
			
- 
				I am trying to locate the "sed" and "tr" commands but I am having trouble finding them. dosborne do you know where they are located? Thanks.
			
- 
				Since you are not running a "standard" install, I can only guess. However, if you type:
 
 which {--command--}
 
 such as:
 
 which sed
 which tr
 
 then the system will attempt to locate the command in question along your path. My guesss would be /ffp/bin for both :)
- 
				Thanks dosborne I was able to locate the binaries in /ffp/bin and got past that bug :). However is still gives me problems and it is driving me crazy. I am getting the following error when running the code through crontab  
 
 [: ==: unknown operand
 [: ==: unknown operand
 [: ==: unknown operand
 [: ==: unknown operand
 [: ==: unknown operand
 
 Again when run through shell prompt everything works fine. After re-writing again and again most of the code and testing it I came to the conclusion that the problem lies to the following lines of code
 
 if [ "$r" == "->" ]; then
 
 or
 
 if [ "$match" == "0" ]; then
 
 or
 
 if [ "$?" == "0" ]; then
 
 etc
 
 Any or similar to the above code is giving me the "[: ==: unknown operand" error. I have tried many things including  "if [[ "$match" == "0" ]]; then" or "if [ "$match"-eq 0 ]; then" or if [ "$match" -eq "0" ]; then etc but the result was the same.
 
 Do you have any idea?
 
 Thanks
 
 
- 
				The == conditional should be fine for a shell script. If you want to send me more of the script, I can try and replicate. It may be possible you would need to escapte the > symbol i.e. \> but other than that I don't see anything wrong, but without know what the variables hold it is a bit difficult. Maybe single quotes for sed rather than double?
 
 I have something very similar in a script that I run daily via cron  CLCC=`/ffp/bin/grep -c "Load_Cycle_Count" ${LOG_FILE}`
 if [ "$CLCC" != "0" ]; then
 echo -n "`date` "
 /ffp/bin/grep -m 1 "Load_Cycle_Count" ${LOG_FILE}
 echo -n "`date` ">>${LMNT}/smart_LLC.log
 /ffp/bin/grep -m 1 "Load_Cycle_Count" ${LOG_FILE}>>${LMNT}/smart_LLC.log
 fi
 if [ "$CLCC" == "2" ]; then
 echo -n "`date` "
 /ffp/bin/tac ${LOG_FILE}|/ffp/bin/grep -m 1 "Load_Cycle_Count"
 echo -n "`date` ">>${LMNT}/smart_LLC.log
 /ffp/bin/tac ${LOG_FILE}|/ffp/bin/grep -m 1 "Load_Cycle_Count">>${LMNT}/smart_LLC.log
 fi
 if [ -f "${LOG_FILE}" ]; then
 /ffp/bin/sed -i '/^\*\*\*\*\*/d' ${LOG_FILE}
 /ffp/bin/sed -i '/^\#\#\#\#\#/d' ${LOG_FILE}
 /ffp/bin/sed -i '/stand by now/d' ${LOG_FILE}
 /ffp/bin/sed -i '/awake now/d' ${LOG_FILE}
 /ffp/bin/sed -i '/deprecated SCSI ioctl/d' ${LOG_FILE}
 /ffp/bin/sed -i '/^$/d' ${LOG_FILE}
 fi
 Which shell are you running? #!/ffp/bin/sh ??
- 
				Hi I am using /bin/bash. I also tried /bin/sh. Here is the code:
 
 #!/bin/bash
 
 IFS='
 '
 WD=/mnt/HD_b2/download
 rulesfile=$WD/"rules"
 
 checkfile()
 {
 arg1=$1
 ls -l $f/*.$arg1 1>/dev/null 2>>/dev/null
 if [ $? == 0 ]; then
 retval=0
 else
 retval=1
 fi
 return "$retval"
 }
 
 logentry()
 {
 arg1=$1
 LOG=$WD/movelog.txt
 echo `date +%m/%d/%Y-%H:%M:%S" :: $arg1"` >> $LOG
 }
 
 logentry "Starting up..."
 
 for f in $WD/~*;
 
 do
 
 logentry "Found directory $f"
 logentry "Checking file extensions"
 EXT="1"
 checkfile mkv
 retval=$?
 if [ $retval == 0 ]; then
 EXT=mkv
 fi
 
 checkfile avi
 retval=$?
 if [ $retval == 0 ]; then
 EXT=avi
 fi
 
 checkfile mp4
 retval=$?
 if [ $retval == 0 ]; then
 EXT=mp4
 fi
 
 if [ $EXT == "1" ]; then
 logentry "No valid file found in directory $f"
 else
 logentry "Start reading rule file \"$rulesfile\""
 while read line
 do
 logentry "Attempting rule $line"
 match="0"
 line=$(echo $line | /ffp/bin/sed -e "s/\ /#/g")
 arr=$(echo $line | "/ffp/bin/tr" ";" "\n")
 
 for x in $arr
 do
 r=$(echo $x|/ffp/bin/cut -c1-2)
 if [ "$r" == "->" ]; then
 
 if [ "$match" == "0" ]; then
 line=$(echo $line | /ffp/bin/sed -e "s/#/\ /g")
 logentry "Rule $line was match for directory $f"
 
 x=$(echo $x | /ffp/bin/sed -e "s/#/\ /g")
 rule=`echo $x| /ffp/bin/sed -r 's/^.{2}//'`
 
 logentry "Executing command \"mv $f/*.$EXT $rule.$EXT\""
 mv \"$f/*.$EXT\" \"$rule.$EXT\"
 result="$?"
 if [ "$result" == "0" ]; then
 logentry "Command was executed succesfully"
 else
 logentry "Command failed. Return code is $result"
 fi
 else
 logentry "Rule $line was not matched with directory $f"
 fi
 else
 echo "$f" | grep "$x" 1>/dev/null 2>>/dev/null
 if [ "$?" == "0" ]; then
 if [ "$match" == "0" ]; then
 match="0"
 fi
 else
 match="1"
 fi
 fi
 done
 done < $rulesfile
 logentry "Done reading rule file \"$rulesfile\""
 fi
 done
 
 Hope you can make something of it. Thanks
 
- 
				Interesting script.
 You have to be really careful on using $? on piped commands as you could be getting an unexpected result. There is some really good info on bash and piped results here: http://stackoverflow.com/questions/90418/exit-shell-script-based-on-process-exit-code
 
 One shortcut :-)
 ls -l $f/*.$arg1 &> /dev/null
 instead of
 ls -l $f/*.$arg1 1>/dev/null 2>>/dev/null
 LOL
 
 Personally, I always use #!/ffp/bin/sh but there can be slight differences. I tend to be a bit more explicit on some things like EXT="mp4" to ensure it is a string. Doubt it matters. You could also try a shell for assigning your commands to a variable, i.e. fdate=`date +"%Y%m%d"`, or r=`$(echo $x|/ffp/bin/cut -c1-2)`  Again, not sure if it matters and it may be because we are using different shells. I'll take another look later but hopefully something here will help.
 
 I would try and stick with either numeric or string. return "$retval" does the conversion so I would quote all the tests. Another thing I always do (old habit) is (other than declaration) I bracket my variables to ensure there is no confusion by the script. example mv \"${f}/*.${EXT}\" \"$r{ule}.${EXT}\"
 
 Here is an example of a full script (than runs daily via cron) in case you can see something else.#!/ffp/bin/sh
 #
 # Daily maintenance script
 #
 # v1.0.0 Initial implementation
 
 FLAG="/tmp/daily.run"
 if [ -f "${FLAG}" ]; then
 exit
 else
 echo "`date`" >"${FLAG}"
 fi
 echo "`date` Running script [$0]"
 
 # Global Variables
 SMNT="/mnt/HD_a2"
 DMNT="/mnt/HD_b2"
 UMNT="/mnt/usb"
 LMNT="${UMNT}/logs"
 LLOG="daily_rsync.log"
 TLLOG="temp.${LLOG}"
 HOSTS="/etc/hosts"
 hostname="`hostname`"
 export cnd=`date +"%Y%m%d"`
 UserPass="username=archive,password=secret"
 aHost="NAS40"
 
 if [ -f "${LMNT}/${LLOG}" ]; then
 echo "`date` Clearing old log file [${LMNT}/${LLOG}]"
 rm "${LMNT}/${LLOG}"
 fi
 
 # Check for FFP startup log and move if required
 for _f in "${SMNT}/Nas_Prog/logs/ffp.log" "${SMNT}/ffp.log"; do
 if [ -f "${_f}" ]; then
 if [ -d "${LMNT}" ]; then
 echo "`date` Moving [${_f}] to [${LMNT}/ffp.log]"
 mv "${_f}" "${LMNT}/"
 fi
 fi
 done
 
 if [ "${hostname}" = "NAS40" ]; then
 # For NAS40 Only
 echo "`date` Rsyncing [${SMNT}] to [${DMNT}] Log:[${LMNT}/${LLOG}]"
 echo "`date` Rsyncing [${SMNT}] to [${DMNT}]" >>${LMNT}/${LLOG}
 /ffp/bin/rsync -av --stats --delete ${SMNT}/ ${DMNT}/ >${LMNT}/${TLLOG} 2>&1
 if [ -f "${LMNT}/${TLLOG}" ]; then
 echo -n "`date` "
 /ffp/bin/grep "Number of files:" ${LMNT}/${TLLOG}
 echo -n "`date` "
 /ffp/bin/grep "Number of files transferred:" ${LMNT}/${TLLOG}
 echo -n "`date` Number of files removed: "
 grep -c "deleting " ${LMNT}/${TLLOG}
 cat ${LMNT}/${TLLOG} >>${LMNT}/${LLOG}
 rm ${LMNT}/${TLLOG}
 fi
 
 echo "`date` Rsyncing [inreto.de::dns323/fun-plug/0.5] to [/ffp/0.5] Log:[${LMNT}/${LLOG}]"
 echo "`date` Rsyncing [inreto.de::dns323/fun-plug/0.5] to [/ffp/0.5]" >>${LMNT}/${LLOG}
 /ffp/bin/rsync -av --stats --delete inreto.de::dns323/fun-plug/0.5/ ${SMNT}/ffp/0.5/ >${LMNT}/${TLLOG} 2>&1
 if [ -f "${LMNT}/${TLLOG}" ]; then
 echo -n "`date` "
 /ffp/bin/grep "Number of files:" ${LMNT}/${TLLOG}
 echo -n "`date` "
 /ffp/bin/grep "Number of files transferred" ${LMNT}/${TLLOG}
 echo -n "`date` Number of files removed: "
 grep -c "deleting " ${LMNT}/${TLLOG}
 cat ${LMNT}/${TLLOG} >>${LMNT}/${LLOG}
 rm ${LMNT}/${TLLOG}
 fi
 
 echo "`date` Rsyncing [inreto.de::dns323/fun-plug/0.7] to [/ffp/0.7] Log:[${LMNT}/${LLOG}]"
 echo "`date` Rsyncing [inreto.de::dns323/fun-plug/0.7] to [/ffp/0.7]" >>${LMNT}/${LLOG}
 /ffp/bin/rsync -av --stats --delete inreto.de::dns323/fun-plug/0.7/oarm/ ${SMNT}/ffp/0.7/ >${LMNT}/${TLLOG} 2>&1
 if [ -f "${LMNT}/${TLLOG}" ]; then
 echo -n "`date` "
 /ffp/bin/grep "Number of files:" ${LMNT}/${TLLOG}
 echo -n "`date` "
 /ffp/bin/grep "Number of files transferred" ${LMNT}/${TLLOG}
 echo -n "`date` Number of files removed: "
 grep -c "deleting " ${LMNT}/${TLLOG}
 cat ${LMNT}/${TLLOG} >>${LMNT}/${LLOG}
 rm ${LMNT}/${TLLOG}
 fi
 
 else
 for _f in ".bootstrap" "ffp/my-packages" "ffp/scripts" "ffp/ipkg" "ffp/0.5" "ffp/0.7"; do
 # Rsync DIRECTORIES
 if [ -d "${SMNT}/${_f}" ]; then
 echo "`date` Rsyncing [NAS40::root/mnt/HD_a2/${_f}] to [${SMNT}/${_f}] Log:[${LMNT}/${LLOG}]"
 echo "`date` Rsyncing [NAS40::root/mnt/HD_a2/${_f}] to [${SMNT}/${_f}]" >>${LMNT}/${LLOG}
 /ffp/bin/rsync -av --stats --delete 192.168.1.40::root/mnt/HD_a2/${_f}/ ${SMNT}/${_f}/ >${LMNT}/${TLLOG} 2>&1
 if [ -f "${LMNT}/${TLLOG}" ]; then
 echo -n "`date` "
 /ffp/bin/grep "Number of files:" ${LMNT}/${TLLOG}
 echo -n "`date` "
 /ffp/bin/grep "Number of files transferred:" ${LMNT}/${TLLOG}
 echo -n "`date` Number of files removed: "
 grep -c "deleting " ${LMNT}/${TLLOG}
 cat ${LMNT}/${TLLOG} >>${LMNT}/${LLOG}
 rm ${LMNT}/${TLLOG}
 fi
 fi
 done
 for _f in "etc/*.conf" "etc/*.save" "etc/*.subr" "etc/fun_plug.*"; do
 # Rsync FILES
 echo "`date` Rsyncing [NAS40::root/ffp/${_f}] to [${SMNT}/ffp/${_f}] Log:[${LMNT}/${LLOG}]"
 echo "`date` Rsyncing [NAS40::root/ffp/${_f}] to [${SMNT}/ffp/${_f}]" >>${LMNT}/${LLOG}
 /ffp/bin/rsync -av --stats 192.168.1.40::root/ffp/${_f} ${SMNT}/ffp/etc/ >${LMNT}/${TLLOG} 2>&1
 if [ -f "${LMNT}/${TLLOG}" ]; then
 echo -n "`date` "
 /ffp/bin/grep "Number of files:" ${LMNT}/${TLLOG}
 echo -n "`date` "
 /ffp/bin/grep "Number of files transferred:" ${LMNT}/${TLLOG}
 echo -n "`date` Number of files removed: "
 grep -c "deleting " ${LMNT}/${TLLOG}
 cat ${LMNT}/${TLLOG} >>${LMNT}/${LLOG}
 rm ${LMNT}/${TLLOG}
 fi
 done
 if [ -d "${UMNT}/lighttp" ]; then
 echo "`date` Rsyncing [NAS40::${UMNT}/lighttp] to [${UMNT}/lighttp] Log:[${LMNT}/${LLOG}]"
 echo "`date` Rsyncing [NAS40::${UMNT}/lighttp] to [${UMNT}/lighttp]" >>${LMNT}/${LLOG}
 /ffp/bin/rsync -av --delete --stats 192.168.1.40::root${UMNT}/lighttp/ ${UMNT}/lighttp/ >${LMNT}/${TLLOG} 2>&1
 if [ -f "${LMNT}/${TLLOG}" ]; then
 echo -n "`date` "
 /ffp/bin/grep "Number of files:" ${LMNT}/${TLLOG}
 echo -n "`date` "
 /ffp/bin/grep "Number of files transferred:" ${LMNT}/${TLLOG}
 echo -n "`date` Number of files removed: "
 grep -c "deleting " ${LMNT}/${TLLOG}
 cat ${LMNT}/${TLLOG} >>${LMNT}/${LLOG}
 rm ${LMNT}/${TLLOG}
 fi
 if [ -f "${UMNT}/lighttp/html/index.html" ]; then
 echo "`date` Setting hostname [${hostname}] in [${UMNT}/lighttp/html/index.html]"
 /ffp/bin/sed -i "s/NAS40/${hostname}/" ${UMNT}/lighttp/html/index.html
 fi
 fi
 fi
 
 LOG_FILE="${LMNT}/smartctl.log"
 if [ -f "${LOG_FILE}" ]; then
 echo "`date` Clearing old SmartCtl log [${LOG_FILE}]"
 rm "${LOG_FILE}"
 fi
 for _f in "/dev/sda" "/dev/sdb"; do
 echo "`date` Dumping SmartCtl data for [${_f}] to [${LOG_FILE}]"
 echo "`date` SmartCtrl Data for [${_f}]" >>${LOG_FILE}
 /ffp/sbin/smartctl -a -i -d marvell ${_f} >>${LOG_FILE} 2>&1
 done
 if [ -f "${LOG_FILE}" ]; then
 SCC=`/ffp/bin/grep -c "self-assessment test result: PASSED" ${LOG_FILE}`
 if [ "${SCC}" != "2" ]; then
 echo "`date` ************************ S.M.A.R.T. FAILURE ***********************"
 echo -n "`date` S.M.A.R.T. FAILURE - ${SCC} HDD" >>${LMNT}/SMART_Err.log
 if [ ${SCC} != "1" ]; then
 echo -n "s" >>${LMNT}/SMART_Err.log
 fi
 echo -n " passed" >>${LMNT}/SMART_Err.log
 cat ${LOG_FILE} | /usr/bin/mutt -s NAS40_SMART_Alert ${EEMAIL}
 fi
 echo "`date` SmartCtl log Diagnostic Pass count = ${SCC}"
 CLCC=`/ffp/bin/grep -c "Load_Cycle_Count" ${LOG_FILE}`
 if [ "$CLCC" != "0" ]; then
 echo -n "`date` "
 /ffp/bin/grep -m 1 "Load_Cycle_Count" ${LOG_FILE}
 echo -n "`date` ">>${LMNT}/smart_LLC.log
 /ffp/bin/grep -m 1 "Load_Cycle_Count" ${LOG_FILE}>>${LMNT}/smart_LLC.log
 fi
 if [ "$CLCC" == "2" ]; then
 echo -n "`date` "
 /ffp/bin/tac ${LOG_FILE}|/ffp/bin/grep -m 1 "Load_Cycle_Count"
 echo -n "`date` ">>${LMNT}/smart_LLC.log
 /ffp/bin/tac ${LOG_FILE}|/ffp/bin/grep -m 1 "Load_Cycle_Count">>${LMNT}/smart_LLC.log
 fi
 else
 echo "`date` ***WARNING***: SmartCtl log [${LOG_FILE}] does not exist"
 fi
 
 LOG_FILE="${LMNT}/dmesg.log"
 echo "`date` Dumping dmesg information to [${LOG_FILE}]"
 echo "`date` System dmesg Information Dump" >${LOG_FILE}
 /ffp/bin/dmesg -c >>${LOG_FILE}
 if [ -f "${LOG_FILE}" ]; then
 /ffp/bin/sed -i '/^\*\*\*\*\*/d' ${LOG_FILE}
 /ffp/bin/sed -i '/^\#\#\#\#\#/d' ${LOG_FILE}
 /ffp/bin/sed -i '/stand by now/d' ${LOG_FILE}
 /ffp/bin/sed -i '/awake now/d' ${LOG_FILE}
 /ffp/bin/sed -i '/deprecated SCSI ioctl/d' ${LOG_FILE}
 /ffp/bin/sed -i '/^$/d' ${LOG_FILE}
 fi
 
 if [ -d "/ffp/start" ]; then
 echo "`date` Setting permissions for [/ffp/start/*] to [666]"
 /ffp/bin/chmod 777 /ffp/start/
 /ffp/bin/chmod 666 /ffp/start/*
 fi
 
 for _f in "addcron" "automatic" "dnsmasq" "kickwebs" "lighttpd" "logrotate" "ntpd" "rsyncd" "telnetd" "transmission"; do
 if [ -f "/ffp/start/${_f}.sh.save" ]; then
 echo "`date` Copying [/ffp/start/${_f}.sh.save] to [/ffp/start/${_f}.sh]"
 cp -p /ffp/start/${_f}.sh.save /ffp/start/${_f}.sh
 if [ -f "/ffp/start/${_f}.sh" ]; then
 echo "`date` Marking [/ffp/start/${_f}.sh] as executable"
 /ffp/bin/chmod +x /ffp/start/${_f}.sh
 else
 echo "`date` WARNING: [/ffp/start/${_f}.sh] does not exist. The copy may have failed."
 fi
 fi
 if [ -f "/ffp/etc/${_f}.conf.save" ]; then
 echo "`date` Copying [/ffp/etc/${_f}.conf.save] to [/ffp/etc/${_f}.conf]"
 cp -p /ffp/etc/${_f}.conf.save /ffp/etc/${_f}.conf
 fi
 done
 
 if [ -d "${SMNT}/Archive" ]; then
 echo "`date` Reseting [${SMNT}/Archive] ownership to user [Archive:504]"
 /ffp/bin/chown -R archive:504 ${SMNT}/Archive/* &
 if [ ! "${hostname}" = "NAS40" ]; then
 echo "`date` Rsyncing [NAS40::root/mnt/HD_a2/Archive] to [${SMNT}/Archive] Log:[${LMNT}/${LLOG}]"
 echo "`date` Rsyncing [NAS40::root/mnt/HD_a2/Archive] to [${SMNT}/Archive]" >>${LMNT}/${LLOG}
 /ffp/bin/rsync -av --stats --delete 192.168.1.40::root/mnt/HD_a2/Archive/ ${SMNT}/Archive/ >${LMNT}/${TLLOG} 2>&1
 if [ -f "${LMNT}/${TLLOG}" ]; then
 echo -n "`date` "
 /ffp/bin/grep "Number of files:" ${LMNT}/${TLLOG}
 echo -n "`date` "
 /ffp/bin/grep "Number of files transferred:" ${LMNT}/${TLLOG}
 echo -n "`date` Number of files removed: "
 grep -c "deleting " ${LMNT}/${TLLOG}
 cat ${LMNT}/${TLLOG} >>${LMNT}/${LLOG}
 rm ${LMNT}/${TLLOG}
 fi
 fi
 fi
 
 for _f in "${SMNT}" "${DMNT}"; do
 if [ -d "${_f}/Public" ]; then
 echo "`date` Setting permissions on the directory [${_f}/Public]"
 /ffp/bin/chown -R nobody:501 ${_f}/Public &
 /ffp/bin/chmod -R 777 ${_f}/Public &
 fi
 done
 
 if [ ! -d "/ffp/packages" ]; then
 if [ -d "/ffp/0.5/packages" ]; then
 echo "`date` Creating symbolic link for [/ffp/packages]"
 ln -s "/ffp/0.5/packages" "/ffp/packages"
 fi
 fi
 
 if [ ! -d "/ffp/extra-packages" ]; then
 if [ -d "/ffp/0.5/extra-packages" ]; then
 echo "`date` Creating symbolic link for [/ffp/extra-packages]"
 ln -s "/ffp/0.5/extra-packages" "/ffp/extra-packages"
 fi
 fi
 
 if [ -f "${HOSTS}" ]; then
 echo "`date` Running the HOSTS file check on [${HOSTS}]"
 for _f in "40" "41" "42"; do
 COUNT=`/ffp/bin/grep -c "NAS${_f}" ${HOSTS}`
 if [ "${COUNT}" == "0" ]; then
 echo "`date` Adding host [NAS${_f}] with IP [192.168.1.${_f}] to [${HOSTS}]"
 echo "192.168.1.${_f} NAS${_f} NAS${_f}" >>${HOSTS}
 fi
 done
 fi
 
 for _f in "etc" "ffp" "opt"; do
 echo "`date` Rsyncing [/${_f}] to [${UMNT}/backup/${_f}] Log:[${LMNT}/${LLOG}]"
 echo "`date` Rsyncing [/${_f}] to [${UMNT}/backup/${_f}]" >>${LMNT}/${LLOG}
 /ffp/bin/rsync -av --stats --delete /${_f}/ ${UMNT}/backup/${_f}/ >${LMNT}/${TLLOG} 2>&1
 if [ -f "${LMNT}/${TLLOG}" ]; then
 echo -n "`date` "
 /ffp/bin/grep "Number of files:" ${LMNT}/${TLLOG}
 echo -n "`date` "
 /ffp/bin/grep "Number of files transferred:" ${LMNT}/${TLLOG}
 echo -n "`date` Number of files removed: "
 grep -c "deleting " ${LMNT}/${TLLOG}
 cat ${LMNT}/${TLLOG} >>${LMNT}/${LLOG}
 rm ${LMNT}/${TLLOG}
 fi
 done
 
 if [ -f "/ffp/start/addcron.sh" ]; then
 echo "`date` Running the addcron script [/ffp/start/addcron.sh]"
 /ffp/start/addcron.sh skip
 fi
 
 if [ -d "${UMNT}/transmission" ]; then
 echo "`date` Archiving the USB drive transmission files"
 if [ -f "${UMNT}/archive/${hostname}_transmission.tar.gz" ]; then
 rm ${UMNT}/archive/${hostname}_transmission.tar.gz
 fi
 /ffp/bin/tar -cz -f ${UMNT}/archive/${hostname}_transmission.tar.gz ${UMNT}/transmission >/dev/null
 fi
 
 if [ -f "/ffp/sbin/logrotate" ]; then
 if [ -f "/ffp/etc/logrotate.conf" ]; then
 echo "`date` Performing the log rotations [logrotate] Log:[${LMNT}/logrotate.log]"
 /ffp/sbin/logrotate -v /ffp/etc/logrotate.conf -s ${LMNT}/logrotate.state >${LMNT}/logrotate.log 2>&1
 fi
 fi
 
 if [ -d "${SMNT}/www_backup" ]; then
 echo "`date` Rsyncing [192.168.1.2::backup] to [${SMNT}/www_backup] Log:[${LMNT}/${LLOG}]"
 echo "`date` Rsyncing [192.168.1.2::backup] to [${SMNT}/www_backup]" >>${LMNT}/${LLOG}
 /ffp/bin/rsync -av --stats --delete 192.168.1.2::backup ${SMNT}/www_backup/ >${LMNT}/${TLLOG} 2>&1
 if [ -f "${LMNT}/${TLLOG}" ]; then
 echo -n "`date` "
 /ffp/bin/grep "Number of files:" ${LMNT}/${TLLOG}
 echo -n "`date` "
 /ffp/bin/grep "Number of files transferred:" ${LMNT}/${TLLOG}
 echo -n "`date` Number of files removed: "
 grep -c "deleting " ${LMNT}/${TLLOG}
 cat ${LMNT}/${TLLOG} >>${LMNT}/${LLOG}
 rm ${LMNT}/${TLLOG}
 fi
 
 echo "`date` Rsyncing [${SMNT}/www_backup] to [${UMNT}/www_backup] Log:[${LMNT}/${LLOG}]"
 echo "`date` Rsyncing [${SMNT}/www_backup] to [${UMNT}/www_backup]" >>${LMNT}/${LLOG}
 /ffp/bin/rsync -av --stats --delete ${SMNT}/www_backup/ ${UMNT}/www_backup/ >${LMNT}/${TLLOG} 2>&1
 if [ -f "${LMNT}/${TLLOG}" ]; then
 echo -n "`date` "
 /ffp/bin/grep "Number of files:" ${LMNT}/${TLLOG}
 echo -n "`date` "
 /ffp/bin/grep "Number of files transferred:" ${LMNT}/${TLLOG}
 echo -n "`date` Number of files removed: "
 grep -c "deleting " ${LMNT}/${TLLOG}
 cat ${LMNT}/${TLLOG} >>${LMNT}/${LLOG}
 rm ${LMNT}/${TLLOG}
 fi
 fi
 
 if [ -d "${LMNT}" ]; then
 echo "`date` Archiving the USB drive log files to [${UMNT}/archive/${cnd}_${hostname}_Logs.tar.gz]"
 /ffp/bin/tar -cz -f ${UMNT}/archive/${cnd}_${hostname}_Logs.tar.gz ${LMNT}/* >/dev/null 2>&1
 fi
 
 # Mount the Archive directory and copy files
 
 if [ ! -d "/mnt/${aHost}" ]; then
 echo "`date` Creating mount point [/mnt/${aHost}]"
 mkdir "/mnt/${aHost}"
 fi
 
 echo "`date` Mounting [//${aHost}/archive] to [/mnt/${aHost}]"
 /ffp/bin/mount -t cifs //${aHost}/archive /mnt/${aHost} -o ${UserPass}
 
 if [ -f "/mnt/${aHost}/flag.txt" ]; then
 echo "`date` Moving [${UMNT}/archive/${cnd}_${hostname}_Logs.tar.gz] to [/mnt/${aHost}/${hostname}_Logs/]"
 if [ -f "${UMNT}/archive/${cnd}_${hostname}_Logs.tar.gz" ]; then
 /ffp/bin/mv "${UMNT}/archive/${cnd}_${hostname}_Logs.tar.gz" /mnt/${aHost}/${hostname}_Logs/
 else
 echo "`date` *** Something went wrong. Could not find [${UMNT}/archive/${cnd}_${hostname}_Logs.tar.gz]"
 fi
 echo "`date` Copying [${UMNT}/archive/*] to [/mnt/${aHost}/${hostname}_Logs/]"
 /ffp/bin/cp -uv ${UMNT}/archive/* /mnt/${aHost}/${hostname}_Logs/
 else
 echo "`date` *** Something went wrong with the mount. Could not find [/mnt/${aHost}/flag.txt]"
 fi
 
 if [ ! -f "/mnt/${aHost}/${hostname}_Logs/${cnd}_${hostname}_Logs.tar.gz" ]; then
 echo "`date` *** Something went wrong with the move. Could not find [/mnt/${aHost}/${hostname}_Logs/${cnd}_${hostname}_Logs.tar.gz]"
 fi
 
 echo "`date` Syncing changed blocks to disk prior to unmounting the share"
 sync
 
 echo "`date` Unmounting [/mnt/${aHost}]"
 /ffp/bin/umount /mnt/${aHost}
 if [ -d "/mnt/${aHost}" ]; then
 # Check to ensure the share was fully unmounted before deleting the mount point
 if [ ! -f "/mnt/${aHost}/flag.txt" ]; then
 echo "`date` Deleting mount point [/mnt/${aHost}]"
 rm -fR "/mnt/${aHost}"
 else
 echo "`date` *** Something went wrong with the unmount. Found [/mnt/${aHost}/flag.txt]"
 fi
 fi
 
 echo -n "`date` Current System Temperature "
 /ffp/bin/dns323-temp
 
 echo "`date` Disk Usage Information"
 /bin/df -h
 
 if [ -f "${FLAG}" ]; then
 rm "${FLAG}"
 fi
 
 echo "`date` End of script [$0]"
 
 #EoF
 
- 
				Thanks dosborne I will keep looking into to it.