소스 검색

dcron: provide init script

dcron doesn't create a pid file, so we run it in foreground but make
start-stop-daemon create the pidfile and move the daemon to background.

Give it a number greater than exim's init script, so job output email
can be sent.

[Thomas: as suggested by Yann E. Morin, use DCRON_INSTALL_INIT_SYSV.]

Signed-off-by: Alvaro G. M <alvaro.gamez@hazent.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Alvaro G. M 11 년 전
부모
커밋
994e9fa72e
2개의 변경된 파일26개의 추가작업 그리고 0개의 파일을 삭제
  1. 22 0
      package/dcron/S90dcron
  2. 4 0
      package/dcron/dcron.mk

+ 22 - 0
package/dcron/S90dcron

@@ -0,0 +1,22 @@
+#!/bin/sh
+
+case "$1" in
+	start)
+		echo -n "Starting cron ... "
+		start-stop-daemon -S -q -m -b -p /var/run/dcron.pid --exec /usr/sbin/crond -- -f
+		echo "done."
+		;;
+	stop)
+		echo -n "Stopping cron ..."
+		start-stop-daemon -K -q -p /var/run/dcron.pid
+		echo "done."
+		;;
+	restart)
+		$0 stop
+		sleep 1
+		$0 start
+		;;
+	*)
+		echo "usage: $0 {start|stop|restart}"
+		;;
+esac

+ 4 - 0
package/dcron/dcron.mk

@@ -29,4 +29,8 @@ define DCRON_INSTALL_TARGET_CMDS
 	        $(TARGET_DIR)/etc/cron.monthly $(TARGET_DIR)/etc/cron.weekly
 endef
 
+define DCRON_INSTALL_INIT_SYSV
+	$(INSTALL) -D -m 0755 package/dcron/S90dcron $(TARGET_DIR)/etc/init.d/S90dcron
+endef
+
 $(eval $(generic-package))