Find the answer to your Linux question:
Results 1 to 2 of 2
Hi Everyone, I am wondering how to go about automatically starting programs when my Red Hat (Version 8 ) Linux distribution starts up. I need to know which file contains ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Apr 2003
    Posts
    6

    Automatically starting programs in Red Hat Linux.


    Hi Everyone,

    I am wondering how to go about automatically starting programs when my Red Hat (Version 8 ) Linux distribution starts up. I need to know which file contains startup scripts and the format of startup commands. This is required because I want to start the Postmaster of PostgreSQL on bootup.

    Also in addition to the above is it possible to set up Red Hat so that a particular program (in this instance PostgreSQL) only starts for a particular login identity?

    Thanks for your assistance.

    Regards

    David


  2. #2
    Linux Guru
    Join Date
    Apr 2003
    Location
    London, UK
    Posts
    3,284
    use this script and follow the instructions in it:

    #! /bin/sh

    # chkconfig: 2345 98 02
    # description: PostgreSQL RDBMS

    # This is an example of a start/stop script for SysV-style init, such
    # as is used on Linux systems. You should edit some of the variables
    # and maybe the 'echo' commands.
    #
    # Place this file at /etc/init.d/postgresql (or
    # /etc/rc.d/init.d/postgresql) and make symlinks to
    # /etc/rc.d/rc0.d/K02postgresql
    # /etc/rc.d/rc1.d/K02postgresql
    # /etc/rc.d/rc2.d/K02postgresql
    # /etc/rc.d/rc3.d/S98postgresql
    # /etc/rc.d/rc4.d/S98postgresql
    # /etc/rc.d/rc5.d/S98postgresql
    # Or, if you have chkconfig, simply:
    # chkconfig --add postgresql
    #
    # Proper init scripts on Linux systems normally require setting lock
    # and pid files under /var/run as well as reacting to network
    # settings, so you should treat this with care.

    # Original author: Ryan Kirkpatrick <pgsql@rkirkpat.net>

    # $Header: /cvsroot/pgsql-server/contrib/start-scripts/linux,v 1.3 2001/07/30 14:52:42 momjian Exp $

    ## EDIT FROM HERE

    # Installation prefix
    prefix=/usr/local/pgsql

    # Data directory
    PGDATA="/usr/local/pgsql/data"

    # Who to run pg_ctl as, should be "postgres".
    PGUSER=postgres

    # Where to keep a log file
    PGLOG="$PGDATA/serverlog"

    ## STOP EDITING HERE

    # Check for echo -n vs echo \c
    if echo '\c' | grep -s c >/dev/null 2>&1 ; then
    ECHO_N="echo -n"
    ECHO_C=""
    else
    ECHO_N="echo"
    ECHO_C='\c'
    fi
    # The path that is to be used for the script
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

    # What to use to start up the postmaster
    DAEMON="$prefix/bin/pg_ctl"

    set -e

    # Only start if we can find pg_ctl.
    test -f $DAEMON || exit 0

    # Parse command line parameters.
    case $1 in
    start)
    $ECHO_N "Starting PostgreSQL: "$ECHO_C
    su - $PGUSER -c "$DAEMON start -D '$PGDATA' -s -l $PGLOG"
    echo "ok"
    ;;
    stop)
    echo -n "Stopping PostgreSQL: "
    su - $PGUSER -c "$DAEMON stop -D '$PGDATA' -s -m fast"
    echo "ok"
    ;;
    restart)
    echo -n "Restarting PostgreSQL: "
    su - $PGUSER -c "$DAEMON restart -D '$PGDATA' -s -m fast"
    echo "ok"
    ;;
    status)
    su - $PGUSER -c "$DAEMON status -D '$PGDATA'"
    ;;
    *)
    # Print help
    echo "Usage: $0 {start|stop|restart|status}" 1>&2
    exit 1
    ;;
    esac

    exit 0
    Hope that helps.

    Jason

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •