#!/bin/sh
#Auto Make install MFS Files
#
cat <<EOF
++++++++++++++++Welcome To Use Auto Install MFS Scripts ++++++++++++++++++
+++++++++++++++++++++This MFS Install Version 1.6.27++++++++++++++++++++++
+++++++++++++++++++++++++2013-12-04 Author wugk ++++++++++++++++++++++++++
EOF #Defined Variables
SRC_DIR=/usr/src/
MFS_COUNT=(
http://www.moosefs.org/tl_files/mfscode
mfs-1.6.27-1.tar.gz
mfs-1.6.27
'''./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount'''
'''./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster'''
'''./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfschunkserver'''
) ##Defined Function Command Master MFS Install
master_mfs ()
{ if [ -e /usr/sbin/mfsmaster ];then
echo "This Mfsmaster already exists,Please exit "
exit 0
fi #Download MFS SOft Version 1.6.27
cd $SRC_DIR ; wget -c ${MFS_COUNT[0]}/${MFS_COUNT[1]} &&echo "Download ${MFS_COUNT[1]} Successfully !" #Configure MFS and make install and configuration MFS
groupadd mfs ;useradd -g mfs mfs
tar -xzf ${MFS_COUNT[1]} ;cd ${MFS_COUNT[2]} &&${MFS_COUNT[3]} &&make &&make install
[ $? == 0 ]&&echo "This MFS ${MFS_COUNT[2]} Install Successfully,Please Wait Config Master_MFS ......"
cd /etc/mfs/ &&
cp mfsmaster.cfg.dist mfsmaster.cfg
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
cp mfsexports.cfg.dist mfsexports.cfg
cd /var/lib/mfs ;mv metadata.mfs.empty metadata.mfs
} ##Defined Function Command Chunks MFS Install
chunks_mfs () {
if [ -e /usr/sbin/mfschunkserver ];then
echo "This Mfschunkserver already exists,Please exit "
exit 0
fi
#Download MFS SOft Version 1.6.27
cd $SRC_DIR ; wget -c ${MFS_COUNT[0]}/${MFS_COUNT[1]} &&echo "Download ${MFS_COUNT[1]} Successfully !" #Configure MFS and make install and configuration MFS
groupadd mfs ;useradd -g mfs mfs
tar -xzf ${MFS_COUNT[1]} ;cd ${MFS_COUNT[2]} &&${MFS_COUNT[4]} &&make &&make install
[ $? == 0 ]&&echo "This MFS ${MFS_COUNT[2]} Install Successfully,Please Wait Config Chunk_MFS ......"
cd /etc/mfs/ &&
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg
mkdir -p /data/{mfs1,mfs2}
echo -e "/data/mfs1\n/data/mfs2" >>mfshdd.cfg
chown -R mfs:mfs /data/mfs1
chown -R mfs:mfs /data/mfs2
} client_mfs () {
if [ -e /usr/bin/mfsmount ];then
echo "This Mfschunkserver already exists,Please exit "
exit 0
fi
#Download MFS SOft Version 1.6.27
cd $SRC_DIR ; wget -c ${MFS_COUNT[0]}/${MFS_COUNT[1]} &&echo "Download ${MFS_COUNT[1]} Successfully !" #Configure MFS and make install and configuration MFS
groupadd mfs ;useradd -g mfs mfs
yum install fuse-devel -y
tar -xzf ${MFS_COUNT[1]} ;cd ${MFS_COUNT[2]} &&${MFS_COUNT[5]} &&make &&make install
[ $? == 0 ]&&echo -e "This MFS ${MFS_COUNT[2]} Client Install Successfully\nYou Can Use :{/usr/bin/mfsmount /mnt/ -H mfs_master_ip} to Mount !"
} case $1 in master_mfs )
master_mfs
;;
chunks_mfs )
chunks_mfs
;;
client_mfs )
client_mfs
;;
* )
echo
echo "$0 {master_mfs | chunks_mfs | client_mfs}"
;;
esac

  

shell脚本自动化部署XX的案例(附数组使用)的更多相关文章

  1. shell脚本自动化部署服务

    shell脚本自动化部署 !/bin/bash #export PATH=$PATH:/export/maven/bin run_flag_dir="/data0/shell/deploy_ ...

  2. shell脚本自动化部署

    由于公司技术部团队较小,没有专门的运维团队,所以运维工作技术部承包了. 一.纯人工部署是这样的: 1. 本地打包:一般 maven clean package 2. 借助xftp上传到服务器对应目录 ...

  3. linux下使用shell脚本自动化部署项目

    在Java开发项目时经常要把正在开发的项目发布到测试服务器中去测试,一般的话是要把项目先打成war包,然后把war包发布到服务器中,关闭服务器, 最后重新启动服务器,虽然这过程不是很繁琐,但如果是多个 ...

  4. Shell脚本-自动化部署WEB

    #! /bin/ ] then echo "#### 参数有误,\$1:构建号必填" exit fi cd /root/workspace/xinya_erp/xinya_web ...

  5. Shell脚本-自动化部署反向代理、WEB、nfs

    部署nginx反向代理三个web服务,调度算法使用加权轮询(由于物理原因只开启两台服务器) AutoNginxNfsService.sh #/bin/bash systemctl status ngi ...

  6. shell脚本自动化部署Zabbix4.2(修改脚本替换版本)

    #!/bin/bash # 检查操作系统版本,该脚本只能运行在 Centos 7.x 系统上 cat /etc/redhat-release |grep -i centos |grep '7.[[:d ...

  7. fdisk分区硬盘并shell脚本自动化

    最近工作需要用到对硬盘进行shell脚本自动化分区和mount的操作,google了一些资料,下面做个总结. 如果硬盘没有进行分区(逻辑分区或者扩展分区,关于两者概念,自行google),我们将无法将 ...

  8. Shell脚本一键部署——源码编译安装MySQL及自动补全工具

    Shell脚本一键部署--源码编译安装MySQL及自动补全工具 编译安装MySQL 1.软件包 Mysql安装包 将安装包拖至/opt目录下,编辑一个脚本文件,将以下内容复制进去,然后source或者 ...

  9. 使用 Shell 脚本自动化 Linux 系统维护任务

    如果一个系统管理员花费大量的时间解决问题以及做重复的工作,你就应该怀疑他这么做是否正确.一个高效的系统管理员应该制定一个计划使得其尽量花费少的时间去做重复的工作.因此尽管看起来他没有做很多的工作,但那 ...

随机推荐

  1. 给div加上背景图片

    <div class="panel-body" style="background:url('pages/upload/brief/img/bg.jpg');bac ...

  2. Eexcel批量设定单元格条件格式

    最近在整理excel项目记录,觉得有些技巧还是值得拥有,记录备份下,以防将来使用: [工具/原料] excel(office或wps) [方法/步骤] 1.建立一个追踪表如下: 2.选择状态列,建立数 ...

  3. 在centos6.7用yum安装redis解决办法

    1. centos默认的安装源在官方centos.org上,而Redis在第三方的yum源里,所以无法安装,非官方的yum推荐用fedora的epel仓库 [root@localhost instal ...

  4. storm学习

    一 storm 相关术语 . Nimbus storm 集群主节点,负责资源分配和任务调度.(相当于namenode) . supervisor storm集群工作节点,接受Nimbu分配任务,管理w ...

  5. SQL SELECT INTO使用

    SQL SELECT INTO 语句可用于创建表的备份复件. SELECT INTO 语句 SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中. SELECT INTO 语句常用 ...

  6. 测试内容url

    nscurl --ats-diagnostics https://xxxx/xxxx/main/ curl "https://app.api.gupiaoxianji.com/v3.8/ma ...

  7. ARM 开发工具 Keil和DS-5的比较。

    http://www.eeboard.com/bbs/thread-25219-1-1.html 如今ARM体系架构的处理器在嵌入式市场上呼风唤雨,从低端的MCU应用到高端的多媒体消费电子,移动设备领 ...

  8. 20145320GDB调试汇编堆栈过程分析

    GDB调试汇编堆栈过程分析 在这里首先感谢卢肖明的分析博客,为后面的同学减少了很多分析的负担. 分析过程 使用gcc - g example.c -o example -m32指令在64位的机器上产生 ...

  9. 今年暑假不AC

    "今年暑假不AC?""是的.""那你干什么呢?""看世界杯呀,笨蛋!""@#$%^&*%...&quo ...

  10. XPath Axes(轴)

    XML 实例文档 我们将在下面的例子中使用此 XML 文档: <?xml version="1.0" encoding="ISO-8859-1"?> ...