zoukankan      html  css  js  c++  java
  • Ubuntu开机启动的方式

    方法一:
    --------------------------------------------------
    1. 在/etc/init.d/下放置启动脚本,比如postgresql
    root@ubuntu:/etc/init.d# cat postgresql
    #!/bin/sh
    set -e

    ### BEGIN INIT INFO
    # Provides: postgresql
    # Required-Start: $local_fs $remote_fs $network $time
    # Required-Stop: $local_fs $remote_fs $network $time
    # Should-Start: $syslog
    # Should-Stop: $syslog
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: PostgreSQL RDBMS server
    ### END INIT INFO

    # Setting environment variables for the postmaster here does not work; please
    # set them in /etc/postgresql/<version>/<cluster>/environment instead.

    [ -r /usr/share/postgresql-common/init.d-functions ] || exit 0

    . /usr/share/postgresql-common/init.d-functions

    # versions can be specified explicitly
    if [ -n "$2" ]; then
    versions="$2 $3 $4 $5 $6 $7 $8 $9"
    else
    get_versions
    fi

    case "$1" in
    start|stop|restart|reload)
    if [ "$1" = "start" ]; then
    create_socket_directory
    fi
    if [ -z "`pg_lsclusters -h`" ]; then
    log_warning_msg 'No PostgreSQL clusters exist; see "man pg_createcluster"'
    exit 0
    fi
    for v in $versions; do
    $1 $v || EXIT=$?
    done
    exit ${EXIT:-0}
    ;;
    status)
    LS=`pg_lsclusters -h`
    # no clusters -> unknown status
    [ -n "$LS" ] || exit 4
    echo "$LS" | awk 'BEGIN {rc=0} {if (match($4, "down")) rc=3; printf ("%s/%s (port %s): %s ", $1, $2, $3, $4)}; END {exit rc}'
    ;;
    force-reload)
    for v in $versions; do
    reload $v
    done
    ;;
    *)
    echo "Usage: $0 {start|stop|restart|reload|force-reload|status} [version ..]"
    exit 1
    ;;
    esac

    exit 0

    2. 添加服务
    cd /etc/init.d/
    update-rc.d postgresql defaults 90

    3. 删除启动
    update-rc.d -f postgresql remove


    方法二
    -------------
    1. 启动脚本:/etc/systemd/system/postgresql.service
    [Unit]
    Description=PostgreSQL database server
    After=network.target

    [Service]
    Type=forking
    User=postgres
    Group=postgres
    OOMScoreAdjust=-1000
    Environment=PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj
    Environment=PG_OOM_ADJUST_VALUE=0
    Environment=PGSTARTTIMEOUT=270
    Environment=PGDATA=/data/postgresql/data
    ExecStart=/usr/local/pgsql/bin/pg_ctl start -D ${PGDATA} -s -w -t ${PGSTARTTIMEOUT}
    ExecStop=/usr/local/pgsql/bin/pg_ctl stop -D ${PGDATA} -s -m fast
    ExecReload=/usr/local/pgsql/bin/pg_ctl reload -D ${PGDATA} -s
    TimeoutSec=300

    [Install]
    WantedBy=multi-user.target

    2. 添加启动
    systemctl daemon-reload
    systemctl enable postgresql

  • 相关阅读:
    MyBatis常见面试题以及解读
    如何防止sql注入攻击
    宝塔Linux面板基础命令
    Centos7配置静态ip
    宝塔Linux面板安装
    idea中安装阿里巴巴的代码规范插件
    idea中快速将类中的属性转为Json字符串的插件
    创建线程的四种方式
    sleep()方法与wait()方法的区别
    解决线程安全的几种方式
  • 原文地址:https://www.cnblogs.com/zhaojonjon/p/7682196.html
Copyright © 2011-2022 走看看