linux安装脚本



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

103

104

105


#!/bin/bash

# user can config the following configs, then package.

INSTALL=/usr/local/cusflo-server

ok_msg() {

echo -e "${1}${POS}${BLACK}[${GREEN} OK ${BLACK}]"

}

failed_msg() {

echo -e "${1}${POS}${BLACK}[${RED}FAILED${BLACK}]"

}

# discover the current work dir, the log and access.

echo "argv[0]=$0"

if [[ ! -f $0 ]]; then

echo "directly execute the scripts on shell.";

work_dir=`pwd`

else

echo "execute scripts in file: $0";

work_dir=`dirname $0`; work_dir=`(cd ${work_dir} && pwd)`

fi

product_dir=$work_dir

# user must stop service first.

ok_msg "check previous install"

if [[ -f /etc/init.d/cusflo-server-moon ]]; then

/etc/init.d/cusflo-server-moon status >/dev/null 2>&1

ret=$?; if [[ 0 -eq ${ret} ]]; then

failed_msg "you must stop the service first: sudo /etc/init.d/cusflo-server-moon stop";

exit 1;

fi

fi

ok_msg "previous install checked"

# backup old srs

ok_msg "backup old cusflo-server-moon"

install_root=$INSTALL

install_bin=$install_root/

if [[ -d $install_root ]]; then

backup_dir=${install_root}.`date "+%Y-%m-%d_%H-%M-%S"`

ok_msg "backup installed dir"

ok_msg " to=$backup_dir"

mv $install_root $backup_dir 2>&1

ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "backup installed dir failed"; exit $ret; fi

ok_msg "backup installed dir success"

fi

ok_msg "old srs backuped"

# copy core files

ok_msg "copy core components"

(

mkdir -p $install_root

cp -r $work_dir/conf $install_root &&

cp -r $work_dir/dog $install_root &&

cp -r $work_dir/log $install_root &&

cp -r $work_dir/moon $install_root &&

cp -r $work_dir/scripts $install_root

) 2>&1

ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "copy core components failed"; exit $ret; fi

ok_msg "copy core components success"

# install init.d scripts

ok_msg "install init.d scripts"

(

rm -rf /etc/init.d/cusflo-server-moon &&

ln -sf $install_root/scripts/cusflo-server-moon /etc/init.d/cusflo-server-moon

) 2>&1

ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "install init.d scripts failed"; exit $ret; fi

ok_msg "install init.d scripts success"

# install system service

lsb_release --id|grep "CentOS" >/dev/null 2>&1; os_id_centos=$?

lsb_release --id|grep "Ubuntu" >/dev/null 2>&1; os_id_ubuntu=$?

lsb_release --id|grep "Debian" >/dev/null 2>&1; os_id_debian=$?

lsb_release --id|grep "Raspbian" >/dev/null 2>&1; os_id_rasabian=$?

if [[ 0 -eq $os_id_centos ]]; then

ok_msg "install system service for CentOS"

/sbin/chkconfig --add cusflo-server-moon && /sbin/chkconfig cusflo-server-moon on

ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "install system service failed"; exit $ret; fi

ok_msg "install system service success"

elif [[ 0 -eq $os_id_ubuntu ]]; then

ok_msg "install system service for Ubuntu"

update-rc.d cusflo-server-moon defaults

ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "install system service failed"; exit $ret; fi

ok_msg "install system service success"

elif [[ 0 -eq $os_id_debian ]]; then

ok_msg "install system service for Debian"

update-rc.d cusflo-server-moon defaults

ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "install system service failed"; exit $ret; fi

ok_msg "install system service success"

elif [[ 0 -eq $os_id_rasabian ]]; then

ok_msg "install system service for RaspberryPi"

update-rc.d cusflo-server-moon defaults

ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "install system service failed"; exit $ret; fi

ok_msg "install system service success"

else

warn_msg "ignore and donot install system service for `lsb_release --id|awk ‘{print $3}‘`."

fi

echo ""

echo "install success, you can:"

echo -e "${GREEN} sudo ./moon/scripts/cusflo-server-moon start${BLACK}"

echo "cusflo-server-moon root is ${INSTALL}"

exit 0

http://daodaoliang.com/linux%E5%AD%A6%E4%B9%A0/2015/02/05/linux%E5%AD%A6%E4%B9%A0-2015-02-05-%E5%AE%89%E8%A3%85%E8%84%9A%E6%9C%AC%E7%BC%96%E5%86%99/

时间: 2024-10-26 01:35:02

linux安装脚本的相关文章

Linux环境下JDK/Eclipse一键安装脚本

-------------------------------------------------------------------- author:jiangxin Email:[email protected] Blog:http://blog.csdn.net/jiangxinnju -------------------------------------------------------------------- 假设大家必须在Linux环境下使用java开发应用程序,会感觉Lin

linux下PXE无人值守环境自动安装脚本

当时单位要安装一套linux的PXE无人值守装机程序,装完后花了九牛二虎之力写了一个自动安装脚本,以便今后安全方便,不过后来就没怎么用了,甚至都有些淡忘了,哈哈,分享出来,有研究PXE自动安装的可以看看,在使用的时候里面的ip地址要换掉的. #!/bin/sh #writer:gaolixu yum -y install dhcp tftp-server vsftpd syslinux xinetd if ! service dhcpd status ;then ############### 

用python做linux的服务安装脚本 - vncserver

linux服务器在标准安装后,就集成了万能胶水python,python应用于科学计算.web服务.服务管理等等方面,既然这么方便何不利用python来做linux服务的安装脚本呢? 基本上一个linux操作系统安装好后,会安装基础服务应用,比如ftp.vncserver等等,其他的都是根据实际应用来安装,每次安装这些服务都要上网查查安装步骤,照步骤来走基本上不会走错. 设想一个场景,安装好linux操作系统后,通过网页从邮箱把python脚本下载下来,直接 python 脚本.py 即可.安全

Red5一键安装脚本(Linux&Win):一键搭建你的直播平台

Red5一键部署script(Linux&Win):一键搭建你的直播平台 看到bilibili,熊猫TV,斗鱼TV等直播平台你是不是也很眼红呢,这里站长为大伙写了一个Red5一键部署script. Red5供给基于Flash的流媒体服务的一款基于Java的开源流媒体服务器.它由Java言语编写,使用RTMP作为流媒体传输协议,实时视频播放.直播等功能.可以与OBS串流同用. script特点 1.一键部署JDK,JDK环境配置 2.一键关闭防火墙,启动Red5 3.支持Centos6 32bit

Linux+Win锐速&Lot开心版一键安装脚本+源码

Linux+Win锐速&Lot愉快版一键部署script+源码 当咱们购置本国服务器使用时可以说是比较卡,特别是那些挂小水管,的更是埋怨不住,此刻锐速拯救了咱们不过不幸的是, 他们现时曾经终止注册,客人是咱们还想注册怎地办? 1.OpenVZ不支持锐速!现时仅支持KVM,Xen,vmare,如果不清晰本人是甚么 请点伏笔VPS 2.锐速对linux系统以及内核版本要求异常严厉.引荐Centos6,变换内核教程 请点伏笔VPS 3.如果网卡称号不是eth0的话,会部署失利,请联络主机商或者在面板修

如何在linux平台上安装redis(附自动安装脚本)

1.Redis的简单介绍 Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集合和有序集合.支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能.所以Redis也可以被看成是一个数据结构服务器. Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这被称为"半持久化模式");也可以把每一次数据变化都写到一个append onlyfile(aof)里

Linux中自动安装脚本

如何让你的主机自动的完成安装,自动的回答系统提出的问题,编写自动安装脚本即可实现,如下将详细解释自动脚本安装方法. systemd-config-kickstart  ##自动应答脚本制作工具 安装成功,在安装过程中systemd-config-kickstart 将做出脚本应答 进行选择语言选择 (1)Basic Configuration 安装过程的必须一致时区选择(可不选,在脚本中都有写到,这里做一个解释) Root passwd 填写Root密码,并确认,两次输入密码 Advanced

Linux安装及服务控制

一.  版本 Red Hat 企业版   Red Hat Enterprise Linux (简称RHEL) http://www.redhat.com Fedora社区版 由Red Hat资助的社区维护,定位于个人桌面用户 http://fedoraproject.org CentOS社区版 Community Enterprise Operating System(社区企业操作系统) http://www.centos.org 二.  安装步骤 插入RHEL6安装光盘,引导安装程序 设置主机

lnmp安装脚本

lnmp安装脚本.一起学习.有更好的建议请留言. #!/bin/bash # # describe: linux nginx mysql php install FileS=/updatefile mkdir -p $FileS # 安装lrzsz 方便后续文件上传 wget http://vault.centos.org/6.5/os/x86_64/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm -P $FileS &>/dev/null rpm -v