I want to check if a directory in created on today's date. If it does then upload it on HDFS but if the modifying date of the dierectory is different then output as that directory already copied on HDFS.
#!/bin/sh
export DATA_PATH=/data/1/sanket
#We will enter the directory where we want to check other directories
cd $DATA_PATH
#Details of directories will be transfered into no_of_files.txt
ls -lh $DATA_PATH/ >> temp/no_of_files.txt
#We will extract name of the file from above file.
nameoffile=$(awk '{print $9}' temp/no_of_files.txt)
#Now we want today's date.
echo $(date) >> temp/date.txt
#So the modifying date and todays date will be copied to a variable.
filedate=$(awk '{print $6 $7}' temp/no_of_files.txt)
todaydate=$(awk '{print $2 $3}' temp/date.txt)
export "nameoffile"
export "filedate"
export "todaydate"
rm -fr $DATA_PATH/temp/no_of_files.txt
rm -fr $DATA_PATH/temp/name_of_files.txt
rm -fr $DATA_PATH/temp/date.txt
#Directory on HDFS where we want to copy data
path=sanket_data
#First to check that modifying date of directory and today's date to match and if so
#then copy the data on HDFS, if they dont match then give error as file already copied.
if [[ "$filedate" == "$todaydate" ]]; then
for filename in $nameoffile; do
#path=sanket_data
#nameoffile=$(awk '{print $9}' temp/no_of_files.txt)
#for filename in $nameoffile
/usr/bin/hadoop fs -put $DATA_PATH/$filename /user/sanket/$path
#echo $filename already copied!
done
elif [[ "$filedate" != "$todaydate" ]]; then
#/usr/bin/hadoop fs -put $DATA_PATH/$filename /user/sanket/$path
echo $filename already copied!
#hdfs dfs -put $filename /user/sanket/$path
fi