Unix Like如何批量创建帐号,在本地自动挂载服务器上的目录
2013-05-21 11:49
323 查看
前段时间,公司服务器来了一批新机器需要大量的创建新帐号,又因为系统各有区别。所以打算用bash脚本实现批量创建帐号。
在创建帐号的同时,还要把客户端配置autofs,也就是需要使用时才挂载,一段时间不使用挂载点自动移除。而客户端的生产数据实际是通过挂载服务器上的目录,统一保存在服务器上。
优点:通过挂载的方式,可以确保客户端不需要配置大硬盘。所有数据都保存在服务器端,有利于数据的统一管理与备份。
实例脚本,在两种类型机台(HP93K,CATC)上创建(用户名/UID)及自动挂在服务器上的目录到本地。
#!/bin/bash
#输入三个参数:用户名,UID及机台类型
read -p "Please input Username:" username
read -p "Please input Uid:" uid
read -p "Please input Workstationtype:" workstationtype
if [ "$workstationtype" != "" ] ; then
#截取首字母
first=${workstationtype:0:1}
case $first in
H)
#echo 'H';;
#把小写字母转换为大写
upperusername="$(echo $username | tr '[:lower:]' '[:upper:]')" if [ "$username" != "" ] && [ "$uid" != "" ] ; then
echo 'create account ' + $username
echo 'account UID' + $uid mkdir /var/home
mkdir /var/home/$username useradd -u $uid -d /var/home/$username -s /bin/csh $username
passwd $username mkdir /home/$username echo '/home/'$username' '/etc/auto.$username >> /etc/auto.master
touch /etc/auto.$username echo 'production -rw,bg,soft,rsize=32768,wsize=32768 netapp1
:/vol/vol3/'$upperusername'/production/'$workstationtype > /etc/auto.$username
echo 'ftdatalog -rw,bg,soft,rsize=32768,wsize=32768 netapp1:
/vol/vol4/'$upperusername'/ftdatalog/'$workstationtype >> /etc/auto.$username chown $username /home/$username /etc/init.d/autofs restart
else
echo "Please input parameters"
exit 1 fi;;
C)
useradd -u $uid -d /var/home/$username -s /bin/csh $username
passwd $username echo '/export/home'$username'production -soft,bg,timeo=200,r
w netapp1:/vol/vol3/'$upperusername'production/CAT' >> /etc/auto_direct
echo '/export/home'$username'ftdatalog -soft,bg,timeo=200,rw
netapp1:/vol/vol4/'$upperusername'ftdatalog/CAT' >> /etc/auto_direct /etc/init.d/autofs stop
/etc/init.d/autofs start cd /var/yp /usr/ccs/bin/make all
esac
else
echo "Please input workstationtype"
exit 1
fi
在创建帐号的同时,还要把客户端配置autofs,也就是需要使用时才挂载,一段时间不使用挂载点自动移除。而客户端的生产数据实际是通过挂载服务器上的目录,统一保存在服务器上。
优点:通过挂载的方式,可以确保客户端不需要配置大硬盘。所有数据都保存在服务器端,有利于数据的统一管理与备份。
实例脚本,在两种类型机台(HP93K,CATC)上创建(用户名/UID)及自动挂在服务器上的目录到本地。
#!/bin/bash
#输入三个参数:用户名,UID及机台类型
read -p "Please input Username:" username
read -p "Please input Uid:" uid
read -p "Please input Workstationtype:" workstationtype
if [ "$workstationtype" != "" ] ; then
#截取首字母
first=${workstationtype:0:1}
case $first in
H)
#echo 'H';;
#把小写字母转换为大写
upperusername="$(echo $username | tr '[:lower:]' '[:upper:]')" if [ "$username" != "" ] && [ "$uid" != "" ] ; then
echo 'create account ' + $username
echo 'account UID' + $uid mkdir /var/home
mkdir /var/home/$username useradd -u $uid -d /var/home/$username -s /bin/csh $username
passwd $username mkdir /home/$username echo '/home/'$username' '/etc/auto.$username >> /etc/auto.master
touch /etc/auto.$username echo 'production -rw,bg,soft,rsize=32768,wsize=32768 netapp1
:/vol/vol3/'$upperusername'/production/'$workstationtype > /etc/auto.$username
echo 'ftdatalog -rw,bg,soft,rsize=32768,wsize=32768 netapp1:
/vol/vol4/'$upperusername'/ftdatalog/'$workstationtype >> /etc/auto.$username chown $username /home/$username /etc/init.d/autofs restart
else
echo "Please input parameters"
exit 1 fi;;
C)
useradd -u $uid -d /var/home/$username -s /bin/csh $username
passwd $username echo '/export/home'$username'production -soft,bg,timeo=200,r
w netapp1:/vol/vol3/'$upperusername'production/CAT' >> /etc/auto_direct
echo '/export/home'$username'ftdatalog -soft,bg,timeo=200,rw
netapp1:/vol/vol4/'$upperusername'ftdatalog/CAT' >> /etc/auto_direct /etc/init.d/autofs stop
/etc/init.d/autofs start cd /var/yp /usr/ccs/bin/make all
esac
else
echo "Please input workstationtype"
exit 1
fi
相关文章推荐
- 如何解决Ubuntu 12.04(64位)系统在virtualbox环境下无法开机自动挂载共享目录的问题
- 如何实现服务器的批量自动发布
- 如何在后台把本地文件传到服务器的指定目录中
- 如何设置UNIX/Linux中新创建目录或文件的默认权限
- PHP调用gradle在服务器自动生成apk出现的lint无法创建目录解决
- 批量创建AD帐号如何去除空格
- 如何实现服务器启动自动创建日志
- 如何在windows server 2008 下创建系统自动任务来批量删除文件?[未完]
- git 本地库的创建以及如何完成服务器仓库的分支的映射和同步
- CentOS 创建SVN 服务器,并且自动同步到WEB 目录
- 在 Linux 中如何自动批量创建用户
- 已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张,现在要求只能保留最近 7 天的访问日志!请问如何解决? 请给出解决办法或配置或处理命令。(提示:可以
- Windows下如何将服务器目录映射到本地驱动器
- 如何利用mount命令挂载另一台服务器上的目录
- 本地已经创建目录,如何init到GitHub
- 在Asp.net中如何遍历一个本地目录下的所有文件并上载到Web 服务器上指定的目录中
- CentOS 创建SVN 服务器,并且自动同步到WEB 目录
- 如何在使用pdfFactory Pro生成PDF时自动创建目录书签
- 如何利用mount命令挂载另一台服务器上的目录
- win7+iss7的配置,以及如何在本地IIS服务器挂载一个网站