Ubuntu中服务自启动示例

以自启动svn服务为例,说明在Ubuntu中如何设置完成服务的自启动。

1 runsvn.sh

#!/bin/bash

case "$1" in
  start)
    NUM=$(ps -efw | grep "svnserve --listen-port=8899 -d -r /var/svn" | grep -v grep | wc -l)
    if [ $NUM == 0 ]; then
        echo Invoking in background using \'nohup\'
        source ~/.bashrc;
        cd /home/dolphin/runsvn
        nohup svnserve --listen-port=8899 -d -r /var/svn &
    else
      echo svnserve is already running
    fi        
    ;;

  start-fg)
    NUM=$(ps -efw | grep "svnserve --listen-port=8899 -d -r /var/svn" | grep -v grep | wc -l)
    if [ $NUM == 0 ]; then
      echo Starting svnserve in the foreground
      
    else
      echo svnserve is already running
    fi        
    ;;   

  stop)
    PROCLINE=$(ps -efw | grep "svnserve --listen-port=8899 -d -r /var/svn" | grep -v grep)
    if [ ! $? ]; then
      echo svnserve is not running
    else
      PID=$(echo $PROCLINE | awk '{print $2}')
      echo svnserve running as PID=$PID - Terminating Now
      kill $PID
    fi
    ;;
    
  restart)
    $0 stop
    sleep 3
    $0 start
    ;;
    
  *)
    echo "Usage: runsvn.sh {start|start-fg|stop|restart}"
    exit 1
    ;;
esac 

2 /etc/crontab

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user	command
17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
*/1 *   * * *   dolphin cd /home/dolphin/runsvn;./runsvn.sh start &
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值