前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >systemd 开机启动服务

systemd 开机启动服务

原创
作者头像
eisc
修改2024-03-01 20:49:05
1240
修改2024-03-01 20:49:05
举报
代码语言:shell
复制
#!/bin/bash 
# systemd 开机启动服务

os_release()
{
    if [ $USER = "root" ]
    then 
        sudoc=" "
        # 判断字符串的等号要加空格,否则无法判断
    else
        sudoc="sudo"
        echo "当前为普通用户,需要输入root 密码...  $sudoc"
        $sudoc date   ;
    fi

    xitong=` cat /etc/os-release  | grep -w ID | awk -F"=" '{print $2}' | sed "s/\"//g" `
    case "$xitong" in
        "centos" ) aptc="yum" ; dpkgc="rpm -qa " ; echo "当前是 centos 系统"   ;;
        "ubuntu" ) aptc="apt" ; dpkgc="dpkg -l " ; echo "当前是 ubuntu 系统"   ;;
    esac
    
}
os_release

kaiji_web_service(){
# ubuntu  以 systemd 服务方式,自动启动服务软件 

   systemdDir="/usr/lib/systemd/system"
   ServiceName="eisc_web_start.service"
   cd $systemdDir ; $sudoc touch $ServiceName ; $sudoc chmod 777 $ServiceName 
#----- 写入 start.service 服务 -----#
   echo "
[Unit] 
Description=start web
 
[Service]
Type=forking
ExecStart=/etc/init.d/shell/start.sh
ExecReload=/bin/kill -SIGHUP \$MAINPID
ExecStop=/bin/kill -SIGINT \$MAINPID

[Install] 
WantedBy=multi-user.target
   " > $ServiceName

   $sudoc apt install dos2unix -y
   $sudoc dos2unix $ServiceName
   # 转为 unix 格式,否则可能出现字符乱码

   $sudoc chmod 644 $ServiceName
   $sudoc systemctl daemon-reload
   $sudoc systemctl disable $ServiceName
   $sudoc systemctl enable $ServiceName

cd 

}

kaiji_start_web_sh(){

    $sudoc mkdir -p /etc/init.d/shell/ ; $sudoc chmod 777 /etc/init.d/shell/ 

    if [ ! -e /etc/init.d/shell/openvpn_connect.sh ]
    then 
        wget eisc.cn/file/ubuntu/shell/server/openvpn_connect.sh -O /etc/init.d/shell/openvpn_connect.sh
	fi

    read -p "是否继续进行配置 systemd 开机启动? y/n: " kaijisz
    if [ "$kaijisz" = "y" ]
    then
    kaiji_web_service
    # 启动这个函数
    $sudoc mkdir -p $installdir/shell ; $sudoc chmod 777 -R $installdir/shell

    # 将脚本授权给 root 用户

    echo "#!/bin/bash
        # bash 解释器 一定要在第一行 开头写,否则下面脚本不执行,开机启动不成功。 由于是 service服务,因此此脚本是 root 用户执行

        #mount -t nfs -o rw,hard,intr 192.168.122.1:/datadisk/eisc /datadisk/eisc/ ; sleep 2

        /datadisk/eisc/server/nginx/nginx199/sbin/nginx &
        /datadisk/eisc/server/gitea/gitea &

        touch $HOME/log_start_web.txt ; chmod 777 $HOME/log_start_web.txt
    " > /etc/init.d/shell/start.sh
      

   echo "#----------------- 查看写入的开机启动脚本 -------------------#"
   cat /etc/init.d/shell/start.sh

   $sudoc chmod +x /etc/init.d/shell/*  
   $sudoc chown -R root:root /etc/init.d/shell/*  ; $sudoc chmod 777 -R /etc/init.d/shell/*

  else
    echo "[ok]目前不配置systemd "
  fi
}
kaiji_start_web_sh

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档