shell脚本自动化部署XX的案例(附数组使用)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/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

  

posted @   夨忆′  阅读(317)  评论(0编辑  收藏  举报
编辑推荐:
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
阅读排行:
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
点击右上角即可分享
微信分享提示