[ 
https://issues.apache.org/jira/browse/FLUME-1661?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13481847#comment-13481847
 ] 

Jarek Jarcec Cecho commented on FLUME-1661:
-------------------------------------------

Quick question:

Is it really needed to hard code "/bin/sh -c $(content of command property)" 
into ExecSource (and thus limit it's options at least on theoretical level) 
when user can actually specified that in the configuration file when needed? 
E.g. doing something like:

{code}
agent.sources.source1.type = exec
agent.sources.source1.command = /bin/sh -c tail -f 
/some/path/logs/exception/error.log.`date +%Y%m%d%H`
{code}

(Please note that I did not test it myself, I'm just thinking)

Jarcec
                
> ExecSource cannot execute (little complicated..) *nix commands
> --------------------------------------------------------------
>
>                 Key: FLUME-1661
>                 URL: https://issues.apache.org/jira/browse/FLUME-1661
>             Project: Flume
>          Issue Type: Improvement
>          Components: Sinks+Sources
>    Affects Versions: v1.2.0
>            Reporter: Yoonseok Woo
>         Attachments: FLUME-1661-1.patch
>
>
> * command line parsing
> ** conf/flume.conf
> {code}
> agent.sources.source1.type = exec
> agent.sources.source1.command = tail -f 
> /some/path/logs/exception/error.log.`date +%Y%m%d%H`
> {code}
> ** result
> {code}
> tail: /some/path/logs/exception/error.log.`date: No such file or directory
> tail: +%Y%m%d%H`: No such file or directory
> {code}
> ** needs to be improved
> {code}
> (ExecSouce.java:242) String[] commandArgs = command.split("\\s+") 
> {code}
> * using special character (e.g. *, `, ', ...)
> ** conf/flume.conf
> {code}
> agent.sources.source1.type = exec
> agent.sources.source1.command = tail -f /some/path/logs/exception/error.log.*
> {code}
> ** result
> {code}
> tail: /some/path/logs/exception/error.log.*: No such file or directory
> {code}
> ** needs to be improved
> {code}
> (ExecSouce.java:243) process = new ProcessBuilder(commandArgs).start();
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to