由于工作实际需要,得给前线生产大量的盒子,涉及到里面的 用户、组、ssh-key、date、application、config.....等。
只好将其写成脚本,作为参考:
1.自动获取并配置网络IP地址:
#!/bin/sh sIP=`sudo ifconfig eth1 | grep inet | awk ‘NR==1{print $2}‘| awk -F ‘:‘ ‘{print $2}‘` sBcast=`sudo ifconfig eth1 | grep inet | awk ‘NR==1{print $3}‘| awk -F ‘:‘ ‘{print $2}‘` sMask=`sudo ifconfig eth1 | grep inet | awk ‘NR==1{print $4}‘| awk -F ‘:‘ ‘{print $2}‘` sGWP=`sudo ifconfig eth1 | grep inet | awk ‘NR==1{print $2}‘| awk -F ‘:‘ ‘{print $2}‘ | cut -d . -f 1-3` sDomain1="223.5.5.5" sDomain2="223.6.6.6" sDomain3="218.30.19.40" sDomain4="61.134.1.4" # sudo cp /etc/dhcpcd.conf /etc/dhcpcd.conf.default.bak echo "IP="$sIP"\n" echo "sBcast="$sBcast"\n" echo "sMask="$sMask"\n" echo "sMask="$sMask"\n" echo "sMask="$sMask"\n" echo "sDomain1="$sDomain1"\n" echo "sDomain2="$sDomain2"\n" echo "sDomain3="$sDomain3"\n" echo "sDomain4="$sDomain4"\n" sudo sed -i ‘$a interface eth1\n static ip_address=‘$sIP‘/24\n static routers=‘$sGWP‘.1\n #static domain_name_servers=‘$sDomain1‘ ‘$sDomain2‘\n static domain_name_servers=‘$sDomain3‘ ‘$sDomain4‘‘ /etc/dhcpcd.conf # sudo sed -i ‘$a # static domain_name_servers=‘$sDomain3‘‘ /etc/dhcpcd.conf sudo sed -i ‘/interface eth1/i\\‘ /etc/dhcpcd.conf # get info sudo cat /proc/cpuinfo | grep Serial | awk ‘{print $3}‘ > a.txt sudo ifconfig | grep HWaddr >> a.txt sudo ifconfig | grep HWaddr | awk ‘{print $5}‘ >> a.txt
2.用户组相关配置:
#!/bin/sh # 添加用户与组 sudo groupadd wingspan sudo useradd -g wingspan -d /home/lifeccp -m lifeccp -p lifeccp sudo cp /etc/sudoers /etc/sudoers.default.bak sudo sed -i ‘21a lifeccp ALL=(ALL:ALL) ALL‘ /etc/sudoers sudo passwd lifeccp #sudo visudo # 退出,使用lifeccp账户登录 ssh-keygen -t rsa tar -cvf ssh.tar.gz .ssh cat .ssh/id_rsa.pub cat .ssh/id_rsa # get info sudo cat /proc/cpuinfo | grep Serial | awk ‘{print $3}‘ > a.txt sudo ifconfig | grep HWaddr >> a.txt sudo ifconfig | grep HWaddr | awk ‘{print $5}‘ >> a.txt
3.服务应用相关配置:
#!/bin/sh mv webapp/ webapp.bak cd /home/lifeccp mkdir -p /home/lifeccp/dicom sudo apt-get install chkconfig kill -9 `ps aux | grep java | awk ‘{print $2}‘` sudo cp /home/lifeccp/webapp/scripts/osprey /etc/init.d/osprey sudo cp /home/lifeccp/webapp/scripts/pandion /etc/init.d/pandion sudo chmod +x /etc/init.d/osprey sudo chmod +x /etc/init.d/pandion sudo chmod +x /home/lifeccp/webapp/osprey/osprey* sudo chmod +x /home/lifeccp/webapp/pandion/pandion* sudo chkconfig --add osprey sudo chkconfig --add pandion sudo chkconfig --add nginx sudo chkconfig --level 2345 nginx on chmod +x /home/lifeccp/webapp/osprey/startup chmod +x /home/lifeccp/webapp/osprey/serve chmod +x /home/lifeccp/webapp/osprey/osprey-*.jar chmod +x /home/lifeccp/webapp/pandion/pandion chmod +x /home/lifeccp/webapp/pandion/pandion_serve chmod +x /home/lifeccp/webapp/pandion/pandion-*.jar chmod +x /home/lifeccp/webapp/scripts/osprey chmod +x /home/lifeccp/webapp/scripts/pandion #sudo sed -i ‘$a deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi‘ /etc/apt/sources.list #sudo apt-get update sudo apt-get install nginx -y sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak sudo cp /home/lifeccp/webapp/nginx-conf/osprey.conf /etc/nginx/conf.d/osprey.conf sudo cp /home/lifeccp/webapp/nginx-conf/nginx.conf /etc/nginx/nginx.conf sudo sed -i ‘$d‘ /etc/rc.local sudo cp /etc/rc.local /etc/rc.local.default sudo sed -i ‘19a ntpd -s -d \n/etc/init.d/ntp restart‘ /etc/rc.local # sudo sed -i ‘19a ntpd -s -d \n/etc/init.d/ntp restart\n/etc/init.d/nginx restart‘ /etc/rc.local sudo sed -i ‘$a exit 0‘ /etc/rc.local # 删除pi sudo userdel -rf pi sudo groupdel pi # 改密码 sudo passwd lifeccp sudo reboot sudo shutdown -h now
4.其他配置:
待补充,暂略
原文:http://www.cnblogs.com/haochuang/p/6347166.html