#!/bin/sh ### BEGIN INIT INFO # Provides: ripple # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the ripple network node # Description: starts rippled using start-stop-daemon ### END INIT INFO set -e NAME=rippled USER="rippled" GROUP="rippled" PIDFILE=/var/run/$NAME.pid DAEMON=/usr/local/sbin/rippled DAEMON_OPTS="--conf /etc/ripple/rippled.cfg" NET_OPTS="--net $DAEMON_OPTS" LOGDIR="/var/log/rippled" DBDIR="/var/db/rippled/db/hyperldb" export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" # I wish it didn't come down to this, but this is the easiest way to ensure # sanity of an install. if [ ! -d $LOGDIR ]; then mkdir -p $LOGDIR chown $USER:$GROUP $LOGDIR fi if [ ! -d $DBDIR ]; then mkdir -p $DBDIR chown -R $USER:$GROUP $DBDIR fi case "$1" in start) echo -n "Starting daemon: "$NAME start-stop-daemon --start --quiet --background -m --pidfile $PIDFILE \ --exec $DAEMON --chuid $USER --group $GROUP --verbose -- $NET_OPTS echo "." ;; stop) echo -n "Stopping daemon: "$NAME $DAEMON $DAEMON_OPTS stop rm -f $PIDFILE echo "." ;; restart) echo -n "Restarting daemon: "$NAME $DAEMON $DAEMON_OPTS stop rm -f $PIDFILE start-stop-daemon --start --quiet --background -m --pidfile $PIDFILE \ --exec $DAEMON --chuid $USER --group $GROUP -- $NET_OPTS echo "." ;; status) echo "Status of $NAME:" echo -n "PID of $NAME: " if [ -f "$PIDFILE" ]; then cat $PIDFILE $DAEMON $DAEMON_OPTS server_info else echo "$NAME not running." fi echo "." ;; fetch) echo "$NAME ledger fetching info:" $DAEMON $DAEMON_OPTS fetch_info echo "." ;; uptime) echo "$NAME uptime:" $DAEMON $DAEMON_OPTS get_counts echo "." ;; startconfig) echo "$NAME is being started with the following command line:" echo "$DAEMON $NET_OPTS" echo "." ;; command) # Truncate the script's argument vector by one position to get rid of # this entry. shift # Pass the remainder of the argument vector to rippled. $DAEMON $DAEMON_OPTS "$@" echo "." ;; test) $DAEMON $DAEMON_OPTS ping echo "." ;; *) echo "Usage: $0 {start|stop|restart|status|fetch|uptime|startconfig|" echo " command|test}" exit 1 esac exit 0