Last active
July 2, 2024 17:14
-
-
Save ekho/6636393 to your computer and use it in GitHub Desktop.
pgAgent daemon
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
http://www.ekho.name/2012/03/pgagent-debianubuntu.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CONNECT_STRING="host=127.0.0.1 port=5432 user=postgres" | |
LOGLEVEL=2 | |
RUN_AS=postgres:postgres |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# | |
# start/stop pgagent daemon. | |
### BEGIN INIT INFO | |
# Provides: pgagent | |
# Required-Start: $network $local_fs postgresql | |
# Required-Stop: $network $local_fs postgresql | |
# Default-Start: S 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
### END INIT INFO | |
. /lib/lsb/init-functions | |
path2bin="/usr/bin/pgagent" | |
if ! test -f $path2bin; then | |
log_failure_msg "$path2bin not found" | |
exit 1 | |
fi | |
RUN_AS="" | |
CONNECT_STRING="" | |
LOGLEVEL=0 | |
LOGFILE="/var/log/pgagent.log" | |
if [ -f /etc/default/pgagent ]; then | |
. /etc/default/pgagent | |
elif [ -f /etc/pgagent.conf ]; then | |
. /etc/pgagent.conf | |
fi | |
if [ "$CONNECT_STRING" = "" ]; then | |
log_failure_msg "CONNECT_STRING not specified" | |
exit 1 | |
fi | |
opts="--quiet --oknodo --exec $path2bin" | |
case "$1" in | |
start) | |
log_begin_msg "Starting PgAgent daemon..." | |
if pidof $path2bin > /dev/null; then | |
log_begin_msg "Already running" | |
log_end_msg 0 | |
exit 0 | |
fi | |
if [ "$RUN_AS" != "" ]; then | |
opts="-c $RUN_AS $opts" | |
if [ ! -f "$LOGFILE" ]; then touch $LOGFILE; fi | |
chown $RUN_AS $LOGFILE | |
fi | |
OPTIONS="-l $LOGLEVEL -s $LOGFILE $CONNECT_STRING" | |
start-stop-daemon --start $opts -- $OPTIONS | |
log_end_msg $? | |
;; | |
stop) | |
log_begin_msg "Stopping PgAgent daemon..." | |
start-stop-daemon --stop $opts | |
log_end_msg $? | |
;; | |
force-reload) | |
$0 restart | |
;; | |
restart) | |
$0 stop | |
$0 start | |
;; | |
status) | |
if ! pidof $path2bin > /dev/null; then | |
log_success_msg "PgAgent isn't running" | |
exit 3 | |
fi | |
log_success_msg "PgAgent running" | |
exit 0 | |
;; | |
*) | |
log_success_msg "Usage: /etc/init.d/pgagent {start|stop|force-reload|restart|status}" | |
exit 1 | |
;; | |
esac | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hey,
I had an issue with the RUN_AS variable. This was behaving really weird: When executing the chown an '\r' was included. When executing the start-stop-daemon an '^M' was added. In the end i renamed the RUN_AS to RUN_AS1 and everything worked. I think RUN_AS could be a protected or used variable.