Bash backup script - If multiple files starting with a exist problem
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`
if [ -d /home/"$i"* ]
tar -czf "$BUP_DIR"home_"$i".tgz /home/"$i"* >> $BUP_LOG 2> /dev/null
echo "/home/$i* tarred and zipped" >> $BUP_LOG
echo "No Users starting with $i exist" >> $BUP_LOG
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'?