子奥 發表於 2019-8-8 09:26:00

[ubuntu][deepin]系统增加自定义开机启动项

<p>系统增加自定义开机启动项</p>
<h1>进行配置</h1>
<ul>
<li>cd /etc/init.d/</li>
<li>ls</li>
<li>vim myScript</li>
</ul>
<h1><strong>nginx实例</strong></h1>
<div class="cnblogs_code">
<pre>#! /bin/<span style="color: rgba(0, 0, 0, 1)">sh
# chkconfig: </span><span style="color: rgba(128, 0, 128, 1)">2345</span> <span style="color: rgba(128, 0, 128, 1)">55</span> <span style="color: rgba(128, 0, 128, 1)">25</span><span style="color: rgba(0, 0, 0, 1)">
# Description: Startup script </span><span style="color: rgba(0, 0, 255, 1)">for</span> nginx webserver on Debian. Place <span style="color: rgba(0, 0, 255, 1)">in</span> /etc/<span style="color: rgba(0, 0, 0, 1)">init.d and
# run </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">update-rc.d -f nginx defaults</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">, or use the appropriate command on your
# distro. For CentOS</span>/Redhat run: <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">chkconfig --add nginx</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">

### BEGIN INIT INFO
# Provides:          nginx
# Required</span>-<span style="color: rgba(0, 0, 0, 1)">Start:    $all
# Required</span>-<span style="color: rgba(0, 0, 0, 1)">Stop:   $all
# Default</span>-Start:   <span style="color: rgba(128, 0, 128, 1)">2</span> <span style="color: rgba(128, 0, 128, 1)">3</span> <span style="color: rgba(128, 0, 128, 1)">4</span> <span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">
# Default</span>-Stop:      <span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(128, 0, 128, 1)">6</span><span style="color: rgba(0, 0, 0, 1)">
# Short</span>-<span style="color: rgba(0, 0, 0, 1)">Description: starts the nginx web server
# Description:       starts nginx </span><span style="color: rgba(0, 0, 255, 1)">using</span> start-stop-<span style="color: rgba(0, 0, 0, 1)">daemon
### END INIT INFO

# Author:   licess
# website:https:</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">lnmp.org</span>
<span style="color: rgba(0, 0, 0, 1)">
NGINX_BIN</span>=<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/usr/local/nginx/sbin/nginx</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
CONFIG</span>=<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/usr/local/nginx/conf/nginx.conf</span><span style="color: rgba(128, 0, 0, 1)">'</span>

<span style="color: rgba(0, 0, 255, 1)">case</span> <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$1</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)">
    start)
      echo </span>-n <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Starting nginx... </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">

      PID</span>=$(ps -ef | grep <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$NGINX_BIN</span><span style="color: rgba(128, 0, 0, 1)">"</span> | grep -v grep | awk <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">{print $2}</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)
      </span><span style="color: rgba(0, 0, 255, 1)">if</span> [ <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$PID</span><span style="color: rgba(128, 0, 0, 1)">"</span> != <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)"> ]; then
            echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx (pid $PID) already running.</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            exit </span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
      fi

      $NGINX_BIN </span>-<span style="color: rgba(0, 0, 0, 1)">c $CONFIG

      </span><span style="color: rgba(0, 0, 255, 1)">if</span> [ <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$?</span><span style="color: rgba(128, 0, 0, 1)">"</span> != <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)"> ]; then
            echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)"> failed</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            exit </span><span style="color: rgba(128, 0, 128, 1)">1</span>
      <span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">
            echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)"> done</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
      fi
      ;;

    stop)
      echo </span>-n <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Stoping nginx... </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">

      PID</span>=$(ps -ef | grep <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$NGINX_BIN</span><span style="color: rgba(128, 0, 0, 1)">"</span> | grep -v grep | awk <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">{print $2}</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)
      </span><span style="color: rgba(0, 0, 255, 1)">if</span> [ <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$PID</span><span style="color: rgba(128, 0, 0, 1)">"</span> = <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)"> ]; then
            echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx is not running.</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            exit </span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
      fi

      $NGINX_BIN </span>-<span style="color: rgba(0, 0, 0, 1)">s stop

      </span><span style="color: rgba(0, 0, 255, 1)">if</span> [ <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$?</span><span style="color: rgba(128, 0, 0, 1)">"</span> != <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)"> ] ; then
            echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)"> failed. Use force-quit</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            $</span><span style="color: rgba(128, 0, 128, 1)">0</span> force-<span style="color: rgba(0, 0, 0, 1)">quit
      </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">
            echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)"> done</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
      fi
      ;;

    status)
      PID</span>=$(ps -ef | grep <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$NGINX_BIN</span><span style="color: rgba(128, 0, 0, 1)">"</span> | grep -v grep | awk <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">{print $2}</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)
      </span><span style="color: rgba(0, 0, 255, 1)">if</span> [ <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$PID</span><span style="color: rgba(128, 0, 0, 1)">"</span> != <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)"> ]; then
            echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx (pid $PID) is running...</span><span style="color: rgba(128, 0, 0, 1)">"</span>
      <span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">
            echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx is stopped.</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            exit </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
      fi
      ;;

    force</span>-quit|<span style="color: rgba(0, 0, 0, 1)">kill)
      echo </span>-n <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Terminating nginx... </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">

      PID</span>=$(ps -ef | grep <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$NGINX_BIN</span><span style="color: rgba(128, 0, 0, 1)">"</span> | grep -v grep | awk <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">{print $2}</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)
      </span><span style="color: rgba(0, 0, 255, 1)">if</span> [ <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$PID</span><span style="color: rgba(128, 0, 0, 1)">"</span> = <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)"> ]; then
            echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx is is stopped.</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            exit </span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
      fi

      kill $PID

      </span><span style="color: rgba(0, 0, 255, 1)">if</span> [ <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$?</span><span style="color: rgba(128, 0, 0, 1)">"</span> != <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)"> ]; then
            echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)"> failed</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            exit </span><span style="color: rgba(128, 0, 128, 1)">1</span>
      <span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">
            echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)"> done</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
      fi
      ;;

    restart)
      $</span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)"> stop
      sleep </span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
      $</span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)"> start
      ;;

    reload)
      echo </span>-n <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Reload nginx... </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">

      PID</span>=$(ps -ef | grep <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$NGINX_BIN</span><span style="color: rgba(128, 0, 0, 1)">"</span> | grep -v grep | awk <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">{print $2}</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)
      </span><span style="color: rgba(0, 0, 255, 1)">if</span> [ <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$PID</span><span style="color: rgba(128, 0, 0, 1)">"</span> != <span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)"> ]; then
            $NGINX_BIN </span>-<span style="color: rgba(0, 0, 0, 1)">s reload
            echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)"> done</span><span style="color: rgba(128, 0, 0, 1)">"</span>
      <span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">
            echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx is not running, can't reload.</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
            exit </span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
      fi
      ;;

    configtest)
      echo </span>-n <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Test nginx configure files... </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">

      $NGINX_BIN </span>-<span style="color: rgba(0, 0, 0, 1)">t
      ;;

    </span>*<span style="color: rgba(0, 0, 0, 1)">)
      echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Usage: $0 {start|stop|restart|reload|status|configtest|force-quit|kill}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
      exit </span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
      ;;

esac</span></pre>
</div>
<p>&nbsp;</p>
<h1>模板</h1>
<p>下面开始进行我们自己的配置</p>
<div class="cnblogs_code">
<pre>#! /bin/<span style="color: rgba(0, 0, 0, 1)">sh
# chkconfig: </span><span style="color: rgba(128, 0, 128, 1)">2345</span> <span style="color: rgba(128, 0, 128, 1)">55</span> <span style="color: rgba(128, 0, 128, 1)">25</span><span style="color: rgba(0, 0, 0, 1)">
# Description: Startup script </span><span style="color: rgba(0, 0, 255, 1)">for</span> nginx webserver on Debian. Place <span style="color: rgba(0, 0, 255, 1)">in</span> /etc/<span style="color: rgba(0, 0, 0, 1)">init.d and
# run </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">update-rc.d -f nginx defaults</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">, or use the appropriate command on your
# distro. For CentOS</span>/Redhat run: <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">chkconfig --add nginx</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">

### BEGIN INIT INFO
# Provides: [程序名称,唯一]
# Required</span>-<span style="color: rgba(0, 0, 0, 1)">Start: $all
# Required</span>-<span style="color: rgba(0, 0, 0, 1)">Stop: $all
# Default</span>-Start: <span style="color: rgba(128, 0, 128, 1)">2</span> <span style="color: rgba(128, 0, 128, 1)">3</span> <span style="color: rgba(128, 0, 128, 1)">4</span> <span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">
# Default</span>-Stop: <span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(128, 0, 128, 1)">6</span><span style="color: rgba(0, 0, 0, 1)">
# Short</span>-<span style="color: rgba(0, 0, 0, 1)">Description: [启动项的简短说明]
# Description: [启动项的完整说明]
### END INIT INFO

[需要执行的命令]

exit </span><span style="color: rgba(128, 0, 128, 1)">0</span></pre>
</div>
<p><strong>咱们自己的</strong></p>
<div class="cnblogs_code">
<pre>#! /bin/<span style="color: rgba(0, 0, 0, 1)">sh
# chkconfig: </span><span style="color: rgba(128, 0, 128, 1)">2345</span> <span style="color: rgba(128, 0, 128, 1)">55</span> <span style="color: rgba(128, 0, 128, 1)">25</span><span style="color: rgba(0, 0, 0, 1)">
# Description: Startup script </span><span style="color: rgba(0, 0, 255, 1)">for</span> nginx webserver on Debian. Place <span style="color: rgba(0, 0, 255, 1)">in</span> /etc/<span style="color: rgba(0, 0, 0, 1)">init.d and
# run </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">update-rc.d -f nginx defaults</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">, or use the appropriate command on your
# distro. For CentOS</span>/Redhat run: <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">chkconfig --add nginx</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">

### BEGIN INIT INFO
# Provides: myScript
# Required</span>-<span style="color: rgba(0, 0, 0, 1)">Start: $all
# Required</span>-<span style="color: rgba(0, 0, 0, 1)">Stop: $all
# Default</span>-Start: <span style="color: rgba(128, 0, 128, 1)">2</span> <span style="color: rgba(128, 0, 128, 1)">3</span> <span style="color: rgba(128, 0, 128, 1)">4</span> <span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">
# Default</span>-Stop: <span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(128, 0, 128, 1)">6</span><span style="color: rgba(0, 0, 0, 1)">
# Short</span>-<span style="color: rgba(0, 0, 0, 1)">Description: myScript
# Description: myScript
### END INIT INFO

echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">myScript,hello word~~~</span><span style="color: rgba(128, 0, 0, 1)">"</span> &gt;&gt;/home/<span style="color: rgba(0, 0, 0, 1)">myScript.txt

exit </span><span style="color: rgba(128, 0, 128, 1)">0</span></pre>
</div>
<p>~~~~~~~~~~~~~~</p>
<p>如果要运行脚本或者程序,可以定义变量,但是会涉及一个开机自启程序读取本地配置或者文件的问题。</p>
<p>不定义也行,哈哈哈</p>
<div class="cnblogs_code">
<pre>BIN=<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">/home/landv/go/src/aa/aa</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">

$BIN</span></pre>
</div>
<p>BIN是一个变量自己随便搞</p>
<p>~~~~~~~~~~~~~~</p>
<p>接下来,我们给myScript加上可执行的属性</p>
<ul>
<li><strong>chmod + x myScript</strong></li>
</ul>
<p>然后加入开机启动项目中</p>
<p>  “大便系列”</p>
<ul>
<li><strong>update-rc.d myScript&nbsp;defaults</strong></li>
</ul>
<p>&nbsp;</p>
<p>删除开机启动项目</p>
<ul>
<li><strong>update-rc.d -f myScript remove</strong></li>
</ul>
<h1>注意</h1>
<p>/etc/init 是系统启动</p>
<p>/etc/init.d是应用启动</p>
<p>/etc/rc*.d这个是启动级别,具体级别含义请查询Linux启动级别</p>
<p>update-rc.d 这条命令就是把/etc/init.d/的配置加入这些级别中。</p>
<p><img src="https://img2018.cnblogs.com/blog/372674/201908/372674-20190808092158331-1042590536.png" alt=""></p>
<h1>当然还有别的启动方式,先会这一种吧。</h1>
<p>&nbsp;</p>

</div>
<div id="MySignature" role="contentinfo">
    <p>本文来自博客园,作者:landv,转载请注明原文链接:https://www.cnblogs.com/landv/p/11319230.html</p><br><br>
来源:https://www.cnblogs.com/landv/p/11319230.html
頁: [1]
查看完整版本: [ubuntu][deepin]系统增加自定义开机启动项