moveFile.sh
#! /bin/bash move_config=/home/tyson/Desktop/MoveScript/script/move.config echo Move Script executed on `date` file_type=$1 if [ -z $file_type ]; then echo Please provide a file type to be moved exit 1 fi file_move_config=$(grep -w ^$file_type= $move_config) if [ -z $file_move_config ]; then echo IncorrectFile Type provided echo Kindly refere $move_config file to correct the input exit 1 fi source=$(echo $file_move_config | awk -F'=' '{print $3}') destination=$(echo $file_move_config | awk -F'=' '{print $2}') archive=$(echo $file_move_config | awk -F'=' '{print $4}') echo --------------------------------------------- echo Source : $source echo Destination : $destination echo Archive : $archive if [[ ! -d $source || ! -d $destination || ! -d $archive ]]; then echo Once of the source, destination or archive directory is missing hence cannot move the files echo Source : $source echo Destination : $destination echo Archive : $archive exit 1 fi echo --------------------------------------------- for entry in "$source"/* ; do if [ -f $entry ] ; then echo $entry copy_command="cp $entry $destination/$(basename $entry)" move_command="mv $entry $archive/$(basename $entry)_$(date '+%Y%m%d-%H%M%S')" echo $copy_command echo $move_command # [[ $copy_command ]] && [[ $move_command ]] || echo "Failed to move" ($copy_command) && ($move_command) || echo "Failed to move" fi done
move.config
#Synatx: Name=Destination=Source=Archive A=/home/tyson/Desktop/MoveScript/CommonDir/A=/home/tyson/Desktop/MoveScript/Files/A/Sent=/home/tyson/Desktop/MoveScript/Files/A/Archive B=/home/tyson/Desktop/MoveScript/CommonDir/B=/home/tyson/Desktop/MoveScript/Files/B/Sent=/home/tyson/Desktop/MoveScript/Files/B/Archive C=/home/tyson/Desktop/MoveScript/CommonDir/C=/home/tyson/Desktop/MoveScript/Files/C/Sent=/home/tyson/Desktop/MoveScript/Files/C/Archive