Bash backup script - If multiple files starting with a exist problem
Hi,
I am trying to get a backup script working to tar and zip people's home directories based on each letter of the alphabet.
The code I have is:
letters="a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4
5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"
for i in `echo $letters`
do
if [ -d /home/"$i"* ]
then
tar -czf "$BUP_DIR"home_"$i".tgz /home/"$i"* >> $BUP_LOG 2> /dev/null
echo "/home/$i* tarred and zipped" >> $BUP_LOG
else
echo "No Users starting with $i exist" >> $BUP_LOG
fi
done
The problem is that the if statement falls over if there is more than one user starting with that letter. The rest of the statment works fine if I remove the if but I get a load of empty .tgz files where there are no users.
Can anyone let me know how I can say 'if there are any directories starting with a then archive them in a.tgz'?
Thanks
|