В настоящее время я столкнулся с проблемой со скриптом init.d, который должен выполнять скрипт Python. Я проверил права доступа к файлу Python, а также к сценарию инициализации. Сценарий инициализации работает нормально, если я заменяю исполняемую строку Python только на echo "test" > /tmp/test.txt
.
Файл Python печатает строку и повторяет ее 1000 раз.
#!/bin/sh
#
# /etc/init.d/incapsula-loggrabber
# init script for Incapsula.
# generated by 'myself'.
#
# chkconfig: 345 93 63
# description: Incapsula Logging Script
#
. /etc/init.d/functions
NAME=incapsula-loggrabber
DESC="Incapsula Script to Push logs to Splunk"
PYTHON="/bin/python"
PIDFILE="/var/run/incapsula-loggrabber.pid"
PYTHON_FILE="/root/inittest.py"
do_start() {
echo Starting Incapsula Script...
echo $PIDFILE is the file where pid resides
sudo python $PYTHON_FILE &
RETVAL=`echo $?`
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$NAME
}
do_stop() {
echo $PIDFILE is removed
kill `cat $PIDFILE`
RETVAL=`echo $?`
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$NAME
}
do_status() {
if [ -e $PIDFILE ]; then
echo $NAME is running, pid=`cat $PIDFILE`
else
echo $NAME is NOT running
exit 1
fi
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
restart)
do_stop
do_start
;;
status)
do_status
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
esac
exit 0
Есть ли что-то, что мне не хватает, или мне нужны какие-либо модификации, чтобы этот скрипт инициализации работал?