#! /bin/sh ### BEGIN INIT INFO # Provides: anacron # Required-Start: $remote_fs $syslog $time # Required-Stop: $remote_fs $syslog $time # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: Run anacron jobs # Description: The first purpose of this script is to run anacron at # boot so that it can catch up with missed jobs. Note # that anacron is not a daemon. It is run here just once # and is later started by the real cron. The second # purpose of this script is that said cron job invokes # this script to start anacron at those subsequent times, # to keep the logic in one place. ### END INIT INFO global PATH := '/bin:/usr/bin:/sbin:/usr/sbin' test -x /usr/sbin/anacron || exit 0 test -r /etc/default/anacron && source /etc/default/anacron source /lib/lsb/init-functions matchstr $1 { start { if init_is_upstart !2 >/dev/null { exit 1 } log_daemon_msg "Starting anac(h)ronistic cron" "anacron" if test x"$ANACRON_RUN_ON_BATTERY_POWER" != x"yes" && test -x /usr/bin/on_ac_power { /usr/bin/on_ac_power >/dev/null if test $Status -eq 1 { log_progress_msg "deferred while on battery power" log_end_msg 0 exit 0 } } # on_ac_power doesn't exist, on_ac_power returns 0 (ac power being used) # or on_ac_power returns 255 (undefined, desktop machine without APM) start-stop-daemon --start --exec /usr/sbin/anacron -- -s log_end_msg 0 } restart|force-reload|reload { # nothing to do : } stop { if init_is_upstart !2 >/dev/null && status anacron !2 >/dev/null | grep -q start { exit 0 } log_daemon_msg "Stopping anac(h)ronistic cron" "anacron" start-stop-daemon --stop --exec /usr/sbin/anacron --oknodo --quiet log_end_msg 0 } status { exit 4 } * { echo "Usage: /etc/init.d/anacron {start|stop|restart|force-reload|reload}" exit 2 } } exit 0 (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PATH) op: Equal rhs: {(/bin) (Lit_Other ":") (/usr/bin) (Lit_Other ":") (/sbin) (Lit_Other ":") (/usr/sbin)} spids: [49] ) ] spids: [49] ) (AndOr children:[(C {(test)} {(-x)} {(/usr/sbin/anacron)})(C {(exit)} {(0)})] op_id:Op_DPipe) (AndOr children: [(C {(test)} {(-r)} {(/etc/default/anacron)}) (C {(.)} {(/etc/default/anacron)})] op_id: Op_DAmp ) (C {(.)} {(/lib/lsb/init-functions)}) (Case to_match: {(DQ ($ VSub_Number "$1"))} arms: [ (case_arm pat_list: [{(start)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(init_is_upstart)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [106] ) ] ) terminator: ) ] action: [(C {(exit)} {(1)})] spids: [-1 110] ) ] spids: [-1 118] ) (C {(log_daemon_msg)} {(DQ ("Starting anac(h)ronistic cron"))} {(DQ (anacron))}) (If arms: [ (if_arm cond: [ (AndOr children: [ (C {(test)} {(x) (DQ ($ VSub_Name "$ANACRON_RUN_ON_BATTERY_POWER"))} {(KW_Bang "!") (Lit_Other "=")} {(x) (DQ (yes))} ) (C {(test)} {(-x)} {(/usr/bin/on_ac_power)}) ] op_id: Op_DAmp ) ] action: [ (SimpleCommand words: [{(/usr/bin/on_ac_power)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[163])] ) (If arms: [ (if_arm cond: [(C {(test)} {($ VSub_QMark "$?")} {(-eq)} {(1)})] action: [ (C {(log_progress_msg)} {(DQ ("deferred while on battery power"))}) (C {(log_end_msg)} {(0)}) (C {(exit)} {(0)}) ] spids: [-1 178] ) ] spids: [-1 198] ) ] spids: [-1 158] ) ] spids: [-1 201] ) (C {(start-stop-daemon)} {(--start)} {(--exec)} {(/usr/sbin/anacron)} {(--)} {(-s)}) (C {(log_end_msg)} {(0)}) ] spids: [98 99 231 -1] ) (case_arm pat_list: [{(restart)} {(force-reload)} {(reload)}] action: [(C {(Lit_Other ":")})] spids: [234 239 249 -1] ) (case_arm pat_list: [{(stop)}] action: [ (If arms: [ (if_arm cond: [ (AndOr children: [ (SimpleCommand words: [{(init_is_upstart)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [260] ) ] ) (Pipeline children: [ (SimpleCommand words: [{(status)} {(anacron)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [269] ) ] ) (C {(grep)} {(-q)} {(start)}) ] negated: False ) ] op_id: Op_DAmp ) ] action: [(C {(exit)} {(0)})] spids: [-1 281] ) ] spids: [-1 289] ) (C {(log_daemon_msg)} {(DQ ("Stopping anac(h)ronistic cron"))} {(DQ (anacron))}) (C {(start-stop-daemon)} {(--stop)} {(--exec)} {(/usr/sbin/anacron)} {(--oknodo)} {(--quiet)}) (C {(log_end_msg)} {(0)}) ] spids: [252 253 321 -1] ) (case_arm pat_list:[{(status)}] action:[(C {(exit)} {(4)})] spids:[324325333-1]) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (C {(echo)} {(DQ ("Usage: /etc/init.d/anacron {start|stop|restart|force-reload|reload}"))}) (C {(exit)} {(2)}) ] spids: [336 337 352 -1] ) ] spids: [89 95 354] ) (C {(exit)} {(0)}) ] )