First Commit
[librecmc/package-feed.git] / utils / sysstat / files / sysstat.init
1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2015 OpenWrt.org
3
4 START=90
5 STOP=10
6
7 USE_PROCD=1
8 PROG=/usr/lib/sysstat/sadc
9 SYSSTAT_CFG="/etc/sysstat/sysstat"
10
11 validate_sysstat_section() {
12         uci_validate_section sysstat sysstat "${1}" \
13                 'log_history:uinteger' \
14                 'compressafter:uinteger' \
15                 'sadc_options:string' \
16                 'sa_dir:string' \
17                 'zip:string' \
18                 'enabled:string'
19 }
20
21 start_service() {
22
23         local log_history compressafter sadc_options sa_dir zip enabled
24
25         validate_sysstat_section sysstat || {
26                 echo "validation failed"
27                 return 1
28         }
29
30         [ -d /var/log/sysstat ] || mkdir -p /var/log/sysstat
31
32         echo "HISTORY=$log_history" > $SYSSTAT_CFG
33         echo "COMPRESSAFTER=$compressafter" >> $SYSSTAT_CFG
34         echo "SADC_OPTIONS=\"$sadc_options\"" >> $SYSSTAT_CFG
35         echo "SA_DIR=\"$sa_dir\"" >> $SYSSTAT_CFG
36         echo "ZIP=\"$zip\"" >> $SYSSTAT_CFG
37         echo "ENABLED=\"$enabled\"" >> $SYSSTAT_CFG
38
39         procd_open_instance
40         procd_set_param command $PROG -S DISK -F -L -
41         procd_set_param file $SYSSTAT_CFG
42         procd_close_instance
43 }
44
45 service_triggers()
46 {
47         procd_add_reload_trigger "sysstat"
48         procd_add_validation validate_sysstat_section
49 }