#! /bin/sh # vim:ft=sh:et ### BEGIN INIT INFO # Provides: sysstat # Required-Start: $remote_fs $local_fs $syslog # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: Start/stop sysstat's sadc # Description: Sysstat contains system performance tools for Linux # The init file runs the sadc command in order to write # the "LINUX RESTART" mark to the daily data file ### END INIT INFO global PATH := '/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin' global DAEMON := '/usr/lib/sysstat/debian-sa1' global NAME := 'sadc' global DESC := '"the system activity data collector'" test -f $DAEMON || exit 0 umask 022 # our configuration file global DEFAULT := '/etc/default/sysstat' # default settings... global ENABLED := '"false'" global SA1_OPTIONS := ''"" # ...overriden in the configuration file test -r $DEFAULT && source "$DEFAULT" set -e global status := '0' source /lib/lsb/init-functions matchstr $1 { start|restart|reload|force-reload { if test $ENABLED = "true" { log_daemon_msg "Starting $DESC" $NAME start-stop-daemon --start --quiet --exec $DAEMON -- --boot || global status := $Status log_end_msg $status } } stop { } status { if test $ENABLED = "true" { log_success_msg "sadc cron jobs are enabled" exit 0 } else { log_failure_msg "sadc cron jobs are disabled" exit 3 } } * { log_failure_msg "Usage: $0 {start|stop|restart|reload|force-reload|status}" exit 1 } } exit $status (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PATH) op: Equal rhs: {(/usr/local/sbin) (Lit_Other ":") (/usr/local/bin) (Lit_Other ":") (/sbin) (Lit_Other ":") (/bin) (Lit_Other ":") (/usr/sbin) (Lit_Other ":") (/usr/bin) } spids: [40] ) ] spids: [40] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DAEMON) op: Equal rhs: {(/usr/lib/sysstat/debian-sa1)} spids: [53] ) ] spids: [53] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:NAME) op:Equal rhs:{(sadc)} spids:[56])] spids: [56] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DESC) op: Equal rhs: {(DQ ("the system activity data collector"))} spids: [59] ) ] spids: [59] ) (AndOr children: [(C {(test)} {(-f)} {(DQ ($ VSub_Name "$DAEMON"))}) (C {(exit)} {(0)})] op_id: Op_DPipe ) (C {(umask)} {(022)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEFAULT) op: Equal rhs: {(/etc/default/sysstat)} spids: [87] ) ] spids: [87] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ENABLED) op:Equal rhs:{(DQ (false))} spids:[94])] spids: [94] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:SA1_OPTIONS) op:Equal rhs:{(DQ )} spids:[99])] spids: [99] ) (AndOr children: [ (C {(test)} {(-r)} {(DQ ($ VSub_Name "$DEFAULT"))}) (C {(.)} {(DQ ($ VSub_Name "$DEFAULT"))}) ] op_id: Op_DAmp ) (C {(set)} {(-e)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(0)} spids:[129])] spids: [129] ) (C {(.)} {(/lib/lsb/init-functions)}) (Case to_match: {(DQ ($ VSub_Number "$1"))} arms: [ (case_arm pat_list: [{(start)} {(restart)} {(reload)} {(force-reload)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$ENABLED"))} {(Lit_Other "=")} {(DQ (true))} {(Lit_Other "]")} ) terminator: ) ] action: [ (C {(log_daemon_msg)} {(DQ ("Starting ") ($ VSub_Name "$DESC"))} {(DQ ($ VSub_Name "$NAME"))} ) (AndOr children: [ (C {(start-stop-daemon)} {(--start)} {(--quiet)} {(--exec)} {($ VSub_Name "$DAEMON")} {(--)} {(--boot)} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:status) op: Equal rhs: {($ VSub_QMark "$?")} spids: [206] ) ] spids: [206] ) ] op_id: Op_DPipe ) (C {(log_end_msg)} {($ VSub_Name "$status")}) ] spids: [-1 175] ) ] spids: [-1 215] ) ] spids: [147 154 218 -1] ) (case_arm pat_list:[{(stop)}] spids:[221222225-1]) (case_arm pat_list: [{(status)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$ENABLED"))} {(Lit_Other "=")} {(DQ (true))} {(Lit_Other "]")} ) terminator: ) ] action: [ (C {(log_success_msg)} {(DQ ("sadc cron jobs are enabled"))}) (C {(exit)} {(0)}) ] spids: [-1 250] ) ] else_action: [ (C {(log_failure_msg)} {(DQ ("sadc cron jobs are disabled"))}) (C {(exit)} {(3)}) ] spids: [265 280] ) ] spids: [228 229 283 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (C {(log_failure_msg)} { (DQ ("Usage: ") ($ VSub_Number "$0") (" {start|stop|restart|reload|force-reload|status}") ) } ) (C {(exit)} {(1)}) ] spids: [286 287 304 -1] ) ] spids: [138 144 306] ) (C {(exit)} {($ VSub_Name "$status")}) ] )