find $directory -name $filename -type f | xargs > tempfile.txt #store filepaths in file
if (-z tempfile.txt) then #check if the tempfile is empty (no files need backup)
foreach string (`cat tempfile.txt`) #make backup for each file
printf "`n------------------------Checking up $string----------------------------\n"
if (!(-e "$string.bak")) then #If no backup for a file exists - make backup
printf "\n$string.bak does not exist! Making a backup..."
cp $string $string.bak
printf "DONE\n"
ls -l `pwd`/$string.bak
else
printf "\n$string.bak exists! Checking if there is any difference with the original..."
diff $string $string.bak > differences.txt
printf "DONE\n"
if (-z differences.txt) then
printf "Thare are no differences between the backup and the original. No copy required.\n"
else
printf "Differences detected. Making a copy of the backup with today's date attached..."
cp $string.bak $string.bak.`date +%Y%m%d`
printf "DONE\n"
ls -l `pwd`/$string.bak.`date +%Y%m%d`
endif
rm -rf differences.txt
endif
printf "\n------------------------Backed up $string----------------------------"
end
else