annotate system/smartmontools/smartd @ 621:8776fbd72b2f

system/smartmontools: initial import, closes #1655
author David Demelier <markand@malikania.fr>
date Tue, 23 Jul 2019 21:05:00 +0200
parents
children 657ee4987f4d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
621
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #!/bin/sh
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 #
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 # /etc/rc.d/smartd: run control script for smartd
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
4
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 if [ -f /etc/rc.conf ]; then
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 . /etc/rc.conf
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 fi
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
8
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 : ${SMARTD_CMD:=/usr/sbin/smartd}
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 : ${SMARTD_ARGS:=}
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 : ${SMARTD_PID:=/var/run/smartd.pid}
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
12
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 smartd_start()
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 {
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 echo "Starting smartd: $SMARTD_CMD $SMARTD_ARGS"
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 $SMARTD_CMD $SMARTD_ARGS -p $SMARTD_PID
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 }
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 smartd_status()
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 {
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 if [ -s $SMARTD_PID ]; then
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 echo "smartd is running with pid: `cat $SMARTD_PID`"
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 else
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 echo "smartd is not running"
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 fi
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 }
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
27
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 smartd_stop()
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 {
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 if [ -s $SMARTD_PID ]; then
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 echo "Stopping smartd."
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 kill -QUIT $(cat $SMARTD_PID)
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 rm -f $SMARTD_PID
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 fi
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 }
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
36
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 smartd_restart()
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 {
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 smartd_stop
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 sleep 3
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 smartd_start
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 }
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
43
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 case $1 in
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 start)
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 smartd_start
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 ;;
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 status)
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 smartd_status
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 ;;
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 stop)
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 smartd_stop
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 ;;
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 restart)
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 smartd_restart
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 ;;
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 *)
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 echo "usage: $(basename $0) restart|start|status|stop"
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 ;;
8776fbd72b2f system/smartmontools: initial import, closes #1655
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 esac