Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10492639
  • 博文数量: 2905
  • 博客积分: 20098
  • 博客等级: 上将
  • 技术积分: 36298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-23 05:00
文章存档

2012年(1)

2011年(3)

2009年(2901)

分类: LINUX

2009-03-23 11:15:59

#!/bin/sh
echo "  #############################################################################################"
echo "  ##            The Shell Script for Postfix Cyrus-sasl Courier-authlib Mysql                ##"
echo "  ##              ##"
echo "  ##                        Modified: Hu Changwen                                            ##"
echo "  ##                        MSN     :                                   ##"
echo "  ##                        Version : 1.0                                                    ##"
echo "  ##                        Date    : 2008-09-26                                             ##"
echo "  #############################################################################################"
echo ""
#define the strcture of table
TABLE="(username char(50) not null,password char(20) not null,uid char(10) not null,gid char(10) not null,maildir char(100) not null,domain char(20) not null,active char(1) default '1');"
#create database and table
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
for type in database table;do
printf "Please input the $type name you would like to create:[postfix]"
while read data;do
      if [ ! -z ${data} ]; then
         if [ "$type" = "database" ];then
            database=$data
         elif [ "$type" = "table" ];then
            table=$data
         fi
         break
      fi
      printf "Please input the database name you would like to create:[postfix]"
done
done
                       
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#input the data per user
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
for ((i=1;;i++));do
    printf "Do you want to input the data per user:[yes,no]"
    while read yes_no;do
          if [ "$yes_no" != "yes" ];then break 2;fi
          echo "Please input the data of NO.$i user:"
          for col in username password uid gid maildir domain active;do
              printf "$col of NO.$i :" && read ${col}[${i}]
          done
   break
   done
done
#output the data you input
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo ""
echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
echo "Please make sure the data you input:"
echo "Database: $database"
echo "Table   : $table"
echo ""
echo "Show the recodes you input:"
 echo "username  password uid gid maildir    domain   active"
for ((n=1;n    echo "${username[$n]}  ${password[$n]}  ${uid[$n]} ${gid[$n]} ${maildir[$n]}   ${domain[$n]}  ${active[$n]}"
done
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#execute the sql to input data to mysql
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo ""
echo "Executing the SQL to input data to mysql......"
      printf "Creating database $database......                  " && \
      mysql -u root -h --password=redhat -e "create database if not exists ${database}" && \
      echo -e "\033[32mOK\033[m"
      printf "Creating table $table......                      " && \
      mysql -u root -h --password=redhat $database -e "create table if not exists ${table}$TABLE" && \
      echo -e "\033[32mOK\033[m"
#insert recode to mysql
for ((n=1;n     printf "Insert NO.$n recode......                   " && \
     mysql -u root -h --password=redhat $database -e "insert into $table values ('${username[$n]}',encrypt('${password[$n]}'),'${uid[$n]}','${gid[$n]}','${maildir[$n]}','${domain[$n]}','${active[$n]}')" && \
     echo -e "\033[32mOK\033[m"
done
#show all the recode
echo ""
echo "Show all the recods in the mysql:"
mysql -u root -h --password=redhat $database -e "select * from $table"
阅读(1807) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~