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

  • 相关阅读:
    第七次作业
    rfid工作原理
    实验九——基本数据类型存储及应用总结
    实验八——函数定义及调用总结
    实验七——函数定义及调用总结
    作业
    作业
    作业
    开始
    实验12——指针的基础应用2
  • 原文地址:https://www.cnblogs.com/zhaojonjon/p/7682196.html
Copyright © 2011-2022 走看看