请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
搜索
查看: 3079|回复: 2

请提供alpine linux的自启动方法

[复制链接]

1

主题

1

回帖

21

积分

个人专业版V1

积分
21
发表于 2021-6-15 22:01:46 | 显示全部楼层 |阅读模式
实体机安装的alpine linux,不是docker。
手工安装后,可手动启动,但无法作为服务自动启动。
请提供alpine linux的自启动方法

1

主题

1

回帖

21

积分

个人专业版V1

积分
21
 楼主| 发表于 2021-6-15 22:04:42 | 显示全部楼层
这是我改写的/etc/init.d/verysync

rc-update add verysync default 没有效果
/sbin/service verysync start  可手动启动
/etc/init.d/verysync start   可手动启动

#!/bin/sh
### BEGIN INIT INFO
# Provides: verysync
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Multi-user commandized version of verysync.
# Description: Starts the verysync command for all registered users.
### END INIT INFO

# Replace with users you want to run verysync clients for
# verysync_USERS="<your name here>"
verysync_USERS="root"
#OPTIONS="-gui-address :8886 -home /usr/local/verysync/var"
#command="/usr/bin/verysync/verysync"
command_args="-gui-address :8886 -home /usr/local/verysync/var"
command="/usr/bin/verysync/verysync"
pidfile="/run/verysync.pid"

if [ ! -f "$command" ]; then
    command=`which verysync`
fi

startd() {
  if [ "$command" == "" ]; then
    echo "Not installed verysync or verysync is not in the environment PATH"
    exit 1;
  fi
  for stuser in $verysync_USERS; do
    HOMEDIR=$(getent passwd $stuser | awk -F: '{print $6}')
    if [ -f $config ]; then
      start-stop-daemon -b -o -c $stuser -S -u $stuser -x "$command" -- $command_args
    else
    start-stop-daemon -b -o -c $stuser -S -u $stuser -x "$command" -- $command_args
      echo "Couldn't start verysync for $stuser (no $config found)"
    fi
  done
}

stopd() {
  for stuser in $verysync_USERS; do
    dbpid=$(pgrep -f $command)
    if [ ! -z "$dbpid" ]; then
      echo "Stopping verysync for $stuser"
      start-stop-daemon -o -c $stuser -K -u $stuser -x $command
    fi
  done
}

status() {
  for stuser in $verysync_USERS; do
    dbpid=$(pgrep -f $command)
    if [ -z "$dbpid" ]; then
      echo "verysync for USER $stuser: not running."
    else
      echo "verysync for USER $stuser: running (pid $dbpid)"
    fi
  done
}

case "$1" in
  start) startd
    ;;
  stop) stopd
    ;;
  restart|reload|force-reload) stopd && startd
    ;;
  status) status
    ;;
  *) echo "Usage: /etc/init.d/verysync {start|stop|reload|force-reload|restart|status}"
     exit 1
   ;;
esac

exit 0

1

主题

2

回帖

19

积分

个人专业版V1

积分
19
发表于 2021-7-1 14:02:15 | 显示全部楼层
可用命令行手动启动就简单。cd 到/etc/local.d/ 目录下。vim一个新的文件,后缀要求是start
比如,verysync.start 里面添加手动启动命令,比如说/etc/init.d/verysync start 之后保存,
给执行权限。chmod +x verysync.start 。之后rc-update add local 重启即可。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|微力同步 ( 京ICP备20030739号-4 )

GMT+8, 2024-3-29 18:26 , Processed in 0.020848 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表