(List (Com {[LIT_CHARS set]} {[LIT_CHARS -e]}) (= scope= flags=0 words=[] bindings=[('DAEMON', {[LIT_CHARS /usr/bin/rsync]})]) (= scope= flags=0 words=[] bindings=[('RSYNC_ENABLE', {[LIT_CHARS false]})]) (= scope= flags=0 words=[] bindings=[('RSYNC_OPTS', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('RSYNC_DEFAULTS_FILE', {[LIT_CHARS /etc/default/rsync]})]) (= scope= flags=0 words=[] bindings=[('RSYNC_CONFIG_FILE', {[LIT_CHARS /etc/rsyncd.conf]})]) (= scope= flags=0 words=[] bindings=[('RSYNC_PID_FILE', {[LIT_CHARS /var/run/rsync.pid]})]) (= scope= flags=0 words=[] bindings=[('RSYNC_NICE_PARM', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('RSYNC_IONICE_PARM', {[SQ ]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -x]} {[VarSub DAEMON]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) (Com {[LIT_CHARS .]} {[LIT_CHARS /lib/lsb/init-functions]}) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -s]} {[VarSub RSYNC_DEFAULTS_FILE]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS .]} {[VarSub RSYNC_DEFAULTS_FILE]}) (Case to_match={[DQ [LIT_CHARS x][VarSub RSYNC_ENABLE]]}, pat_word_list=[[{[LIT_CHARS xtrue]}, {[LIT_CHARS xfalse]}], [{[LIT_CHARS xinetd]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) (List (Com {[LIT_CHARS log_failure_msg]} {[DQ [LIT_CHARS "Value of RSYNC_ENABLE in "][VarSub RSYNC_DEFAULTS_FILE][LIT_CHARS " must be either 'true' or 'false';"]]}) (Com {[LIT_CHARS log_failure_msg]} {[DQ [LIT_CHARS "not starting rsync daemon."]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Case to_match={[DQ [LIT_CHARS x][VarSub RSYNC_NICE]]}, pat_word_list=[[{[LIT_CHARS x] [LIT_OTHER "["] [LIT_CHARS 0-9] [LIT_OTHER "]"]}], [{[LIT_CHARS x1] [LIT_OTHER "["] [LIT_CHARS 0-9] [LIT_OTHER "]"]}], [{[LIT_CHARS x]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('RSYNC_NICE_PARM', {[DQ [LIT_CHARS "--nicelevel "][VarSub RSYNC_NICE]]})]) (= scope= flags=0 words=[] bindings=[('RSYNC_NICE_PARM', {[DQ [LIT_CHARS "--nicelevel "][VarSub RSYNC_NICE]]})]) (ElseTrue) (List (Com {[LIT_CHARS log_warning_msg]} {[DQ [LIT_CHARS "Value of RSYNC_NICE in "][VarSub RSYNC_DEFAULTS_FILE][LIT_CHARS " must be a value between 0 and 19 (inclusive);"]]}) (Com {[LIT_CHARS log_warning_msg]} {[DQ [LIT_CHARS "ignoring RSYNC_NICE now."]]}) ) ) (Case to_match={[DQ [LIT_CHARS x][VarSub RSYNC_IONICE]]}, pat_word_list=[[{[LIT_CHARS x-c] [LIT_OTHER "["] [LIT_CHARS 123] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[LIT_CHARS x]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('RSYNC_IONICE_PARM', {[DQ [VarSub RSYNC_IONICE]]})]) (ElseTrue) (List (Com {[LIT_CHARS log_warning_msg]} {[DQ [LIT_CHARS "Value of RSYNC_IONICE in "][VarSub RSYNC_DEFAULTS_FILE][LIT_CHARS " must be -c1, -c2 or -c3;"]]}) (Com {[LIT_CHARS log_warning_msg]} {[DQ [LIT_CHARS "ignoring RSYNC_IONICE now."]]}) ) ) ) ) (= scope= flags=1 words=[] bindings=[('PATH', {[DQ [VarSub PATH test_op=VS_TEST_COLON_PLUS {[VarSub PATH] [LIT_CHARS ":"]}][LIT_CHARS "/usr/sbin:/sbin"]]})]) (FunctionDef rsync_start [] (List (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -s]} {[DQ [VarSub RSYNC_CONFIG_FILE]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS log_failure_msg]} {[DQ [LIT_CHARS "missing or empty config file "][VarSub RSYNC_CONFIG_FILE]]}) (Com {[LIT_CHARS log_end_msg]} {[LIT_CHARS 1]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) ) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub RSYNC_IONICE_PARM]]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -x]} {[LIT_CHARS /usr/bin/ionice]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS /usr/bin/ionice]} {[DQ [VarSub RSYNC_IONICE_PARM]]} {[LIT_CHARS true]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) ) ) (Com {[LIT_CHARS /usr/bin/ionice]} {[DQ [VarSub RSYNC_IONICE_PARM]]} {[LIT_CHARS -p] [VarSub $]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) ) (If (Com {[LIT_CHARS start-stop-daemon]} {[LIT_CHARS --start]} {[LIT_CHARS --quiet]} {[LIT_CHARS --background]} {[LIT_CHARS --pidfile]} {[VarSub RSYNC_PID_FILE]} {[LIT_CHARS --make-pidfile]} {[VarSub RSYNC_NICE_PARM]} {[LIT_CHARS --exec]} {[VarSub DAEMON]} {[LIT_CHARS --]} {[LIT_CHARS --no-detach]} {[LIT_CHARS --daemon]} {[LIT_CHARS --config]} {[DQ [VarSub RSYNC_CONFIG_FILE]]} {[VarSub RSYNC_OPTS]}) (List (= scope= flags=0 words=[] bindings=[('rc', {[LIT_CHARS 0]})]) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 1]}) (If (Pipeline! (Com {[LIT_CHARS kill]} {[LIT_CHARS -0]} {[ComSub (Com {[LIT_CHARS cat]} {[VarSub RSYNC_PID_FILE]})]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) ) (List (Com {[LIT_CHARS log_failure_msg]} {[DQ [LIT_CHARS "rsync daemon failed to start"]]}) (= scope= flags=0 words=[] bindings=[('rc', {[LIT_CHARS 1]})]) ) ) ) (ElseTrue) (= scope= flags=0 words=[] bindings=[('rc', {[LIT_CHARS 1]})]) ) (If (Com {[LIT_OTHER "["]} {[VarSub rc]} {[LIT_CHARS -eq]} {[LIT_CHARS 0]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS log_end_msg]} {[LIT_CHARS 0]}) (ElseTrue) (List (Com {[LIT_CHARS log_end_msg]} {[LIT_CHARS 1]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub RSYNC_PID_FILE]}) ) ) ) ) (Case to_match={[DQ [VarSub 1]]}, pat_word_list=[[{[LIT_CHARS start]}], [{[LIT_CHARS stop]}], [{[LIT_CHARS reload]}, {[LIT_CHARS force-reload]}], [{[LIT_CHARS restart]}], [{[LIT_CHARS status]}], [{[LIT_OTHER "*"]}]] (If (Com {[DQ [VarSub RSYNC_ENABLE]]}) (List (Com {[LIT_CHARS log_daemon_msg]} {[DQ [LIT_CHARS "Starting rsync daemon"]]} {[DQ [LIT_CHARS rsync]]}) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -s]} {[VarSub RSYNC_PID_FILE]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS kill]} {[LIT_CHARS -0]} {[ComSub (Com {[LIT_CHARS cat]} {[VarSub RSYNC_PID_FILE]})]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) ) (List (Com {[LIT_CHARS log_progress_msg]} {[DQ [LIT_CHARS "apparently already running"]]}) (Com {[LIT_CHARS log_end_msg]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) ) (Com {[LIT_CHARS rsync_start]}) ) (ElseTrue) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -s]} {[DQ [VarSub RSYNC_CONFIG_FILE]]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [VarSub VERBOSE]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS no]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS log_warning_msg]} {[DQ [LIT_CHARS "rsync daemon not enabled in "][VarSub RSYNC_DEFAULTS_FILE][LIT_CHARS ", not starting..."]]}) ) ) ) (List (Com {[LIT_CHARS log_daemon_msg]} {[DQ [LIT_CHARS "Stopping rsync daemon"]]} {[DQ [LIT_CHARS rsync]]}) (Com {[LIT_CHARS start-stop-daemon]} {[LIT_CHARS --stop]} {[LIT_CHARS --quiet]} {[LIT_CHARS --oknodo]} {[LIT_CHARS --pidfile]} {[VarSub RSYNC_PID_FILE]}) (Com {[LIT_CHARS log_end_msg]} {[VarSub ?]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub RSYNC_PID_FILE]}) ) (List (Com {[LIT_CHARS log_warning_msg]} {[DQ [LIT_CHARS "Reloading rsync daemon: not needed, as the daemon"]]}) (Com {[LIT_CHARS log_warning_msg]} {[DQ [LIT_CHARS "re-reads the config file whenever a client connects."]]}) ) (List (Com {[LIT_CHARS set]} {[LIT_OTHER "+"] [LIT_CHARS e]}) (If (Com {[VarSub RSYNC_ENABLE]}) (List (Com {[LIT_CHARS log_daemon_msg]} {[DQ [LIT_CHARS "Restarting rsync daemon"]]} {[DQ [LIT_CHARS rsync]]}) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -s]} {[VarSub RSYNC_PID_FILE]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS kill]} {[LIT_CHARS -0]} {[ComSub (Com {[LIT_CHARS cat]} {[VarSub RSYNC_PID_FILE]})]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) ) (List (AndOr OP_OR_IF (Com {[LIT_CHARS start-stop-daemon]} {[LIT_CHARS --stop]} {[LIT_CHARS --quiet]} {[LIT_CHARS --oknodo]} {[LIT_CHARS --pidfile]} {[VarSub RSYNC_PID_FILE]}) (Com {[LIT_CHARS true]}) ) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 1]}) ) (ElseTrue) (List (Com {[LIT_CHARS log_warning_msg]} {[DQ [LIT_CHARS "rsync daemon not running, attempting to start."]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub RSYNC_PID_FILE]}) ) ) (Com {[LIT_CHARS rsync_start]}) ) (ElseTrue) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -s]} {[DQ [VarSub RSYNC_CONFIG_FILE]]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [VarSub VERBOSE]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS no]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS log_warning_msg]} {[DQ [LIT_CHARS "rsync daemon not enabled in "][VarSub RSYNC_DEFAULTS_FILE][LIT_CHARS ", not starting..."]]}) ) ) ) ) (List (Com {[LIT_CHARS status_of_proc]} {[LIT_CHARS -p]} {[VarSub RSYNC_PID_FILE]} {[DQ [VarSub DAEMON]]} {[LIT_CHARS rsync]}) (Com {[LIT_CHARS exit]} {[VarSub ?]}) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: /etc/init.d/rsync {start|stop|reload|force-reload|restart|status}"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) )