如何在服务器启动时允许Diaspora启动

时间:2012-02-03 01:18:43

标签: ubuntu startup boot diaspora

要启动Diaspora服务器,需要运行以下命令:

  

cd / home / diaspora

     

./脚本/服务器

我的服务器(Ubuntu 11.10)每天重启。我需要配置服务器(Ubuntu 11.10)以允许在我的服务器启动时启动diaspora服务器。怎么做?

我试过了:

以运行diaspora的用户身份登录,打开crontab编辑器(crontab -e),滚动到结尾并输入:

  

@reboot cd / home / diaspora; ./script/sever

然后保存,但在我的服务器启动后仍然无法启动。

并且,如果crontab -e不能这样做,是否可以编写一个init脚本来执行此操作?如果init脚本能够执行此操作,如何编写脚本来执行此操作?

1 个答案:

答案 0 :(得分:5)

首先,您需要创建一个init脚本:

# This is the init script for starting up the
#  Diaspora
#
# chkconfig: 345 91 10
# description: Starts and stops the Diaspora daemon.
#

PROC_NAME=Diaspora
DIASPORA_HOME=/home/diaspora
# Change the user to whichever user you need
RUN_AS_USER=diaspora
startup="cd $DIASPORA_HOME; ./script/server"
# Replace by stop/shutdown command
#shutdown="$DIASPORA_HOME/script/server"

start(){
 echo -n $"Starting $PROC_NAME service: "
 su -l $RUN_AS_USER -c "$startup"
 RETVAL=$?
 echo
}

stop(){
 echo -n $"Stoping $PROC_NAME service: "
 # Uncomment here to allow stop
 # su -l $RUN_AS_USER -c "$shutdown"
 RETVAL=$?
 echo
}

restart(){
  stop
  start
}


# See how we were called.
case "$1" in
start)
 start
 ;;
stop)
 stop
 ;;
restart)
 restart
 ;;
*)
 echo $"Usage: $0 {start|stop|restart}"
 exit 1
esac

exit 0

然后使文件可执行:

sudo chmod +x /etc/init.d/diaspora

然后你需要告诉Ubuntu启动/停止,通常使用默认的运行级别(假设您在/etc/init.d/diaspora中保存了以前的脚本):

sudo update-rc.d diaspora defaults

然后尝试一下:

sudo service diaspora start

sudo /etc/init.d/diaspora start

如果侨民开始那么你就好了。否则脚本可能需要调整。