首页 > 代码库 > firstboot script 类似功能实现
firstboot script 类似功能实现
#!/bin/bash echo "fdisk success" -sed -i ‘/fdisk.sh/d‘ /etc/rc.d/rc.local +sed -i ‘s/fdisk.sh/reboot.sh/‘ /etc/rc.d/rc.local + reboot
主要是格式化磁盘,写在 /etc/rc.local 删除不彻底(/etc/rc.local 是links,用sed 修改文件时 把/etc/rc.local 变成regular file) 这个回头找个时间再看看sed实现原理,运行脚本是执行完后 从rc.d/rc.local 中去掉 /opt/fdisk.sh
#!/bin/bash -if [ ! -f /opt/fdisk ] -then - echo "fdisk not exist" - touch /opt/fdisk - echo "reboot" -else -echo "fdisk is exist" touch /opt/testNB sed -i ‘/reboot.sh/d‘ /etc/rc.d/rc.local -fi
这一步 先test -f /opt/fdisk 文件存在,则执行mkfs.ext4 等操作, 这个文件本身是不存在的,所以先利用这一点 创建fdisk 文件,再reboot, 启动后,会在执行这个脚本,由于文件fdisk 存在了,就开始执行下面的操作。
我是写了个/opt/testNB的文件,最后都搞定了,就需要把reboot.sh 这个脚本干掉。
[root@BJ-W-2101 opt]# cat /etc/rc.d/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don‘t # want to do the full Sys V style init stuff. touch /var/lock/subsys/local /opt/fdisk.sh -/opt/reboot.sh
下面是在开机把salt-minion id的 信息添加到/etc/salt/minion中
#!/bin/bash if [ -z `grep "^id:" /etc/salt/minion ` ] then echo "id is not found" ip=`cat /etc/sysconfig/network-scripts/ifcfg-eth0|awk -F"=" ‘/IPADDR/{print $2}‘|tr -d ‘"‘` echo "id: $ip" >> /etc/salt/minion /etc/init.d/salt-minion restart else echo "id is exist in file" fi sed -i ‘/salt.sh/d‘ /etc/rc.d/rc.local
格式化磁盘脚本 开机自动格式化磁盘,生成/dev/vda5 挂载到/export上
#!/bin/bash # script name fdisk.sh # create user: davis.ying@gmail.com fdisk -cu /dev/vda <<ESXU n e n w ESXU sed -i ‘s/fdisk.sh/new.sh/‘ /etc/rc.d/rc.local reboot
#!/bin/bash # script name: new.sh mkfs.ext4 /dev/vda5 #mount -t ext4 /dev/vda5 /export uuid=`blkid /dev/vda5|awk -F‘"‘ ‘{print $2}‘` echo "UUID=$uuid /export ext4 defaults 1 2" >>/etc/fstab mount -a sed -i ‘/new/d‘ /etc/rc.d/rc.local
[root@ export]# cat /etc/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don‘t # want to do the full Sys V style init stuff. touch /var/lock/subsys/local /opt/fdisk.sh
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。