Class SSHExec
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.optional.ssh.SSHBase
org.apache.tools.ant.taskdefs.optional.ssh.SSHExec
- All Implemented Interfaces:
Cloneable, LogListener
Executes a command on a remote machine via ssh.
- Since:
- Ant 1.6 (created February 2, 2003)
-
Field Summary
Fields inherited from class ProjectComponent
description, location, project -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidexecute()Execute the command on the remote host.voidsetAppend(boolean append) Determines if the output is appended to the file given insetOutput.voidsetBindSensitive(String bindSensitive) Sets the placeholders with sensitive data to replace in command, Prevents from sensitive data appearance in logsvoidsetCommand(String command) Sets the command to execute on the remote host.voidSets a commandResource from a filevoidsetErrAppend(boolean appenderr) Determines if the output is appended to the file given insetErrorOutput.voidsetErrorOutput(File output) If used, stores the erroutput of the command to the given file.voidsetErrorproperty(String property) If set, the erroroutput of the command will be stored in the given property.voidsetHideSensitive(boolean hideSensitive) If hideSensitive istrue, command will be checked for placeholders to replace, If hideSensitive isfalse, command will be executed as is, Prevents from sensitive data appearance in logsvoidIf used, the content of the file is piped to the remote commandvoidsetInputProperty(String inputProperty) If used, the content of the property is piped to the remote commandvoidsetInputString(String inputString) If used, the string is piped to the remote command.voidIf used, stores the output of the command to the given file.voidsetOutputproperty(String property) If set, the output of the command will be stored in the given property.voidsetPlaceholderBrackets(String placeholderBrackets) Sets delimiter to find placeholders and replace themvoidsetResultproperty(String property) If set, the exitcode of the command will be stored in the given property.voidsetSensitiveDelimiter(String sensitiveDelimiter) Sets the delimiter of sensitive data key values pairs in bindSensitivevoidsetSuppressSystemErr(boolean suppressSystemErr) If suppressSystemErr istrue, output will not be sent to System.err, if suppressSystemErr isfalse, normal behaviorvoidsetSuppressSystemOut(boolean suppressSystemOut) If suppressSystemOut istrue, output will not be sent to System.out, if suppressSystemOut isfalse, normal behaviorvoidsetTimeout(long timeout) The connection can be dropped after a specified number of milliseconds.voidsetUsePty(boolean b) Whether a pseudo-tty should be allocated.voidsetUseSystemIn(boolean useSystemIn) If set, input will be taken from System.inMethods inherited from class SSHBase
addConfiguredAdditionalConfig, getFailonerror, getHost, getPort, getServerAliveCountMax, getServerAliveIntervalSeconds, getSshConfig, getUserInfo, getVerbose, init, loadSshConfig, openSession, setFailonerror, setHost, setKeyfile, setKnownhosts, setPassphrase, setPassword, setPort, setServerAliveCountMax, setServerAliveIntervalSeconds, setSshConfig, setTrust, setUsername, setVerboseModifier and TypeMethodDescriptionvoidbooleanGet the failonerror flag.getHost()Get the host.intgetPort()Get the port attribute.intGet the serverAliveCountMax value.intGet the serverAliveIntervalSeconds value in seconds.Get the OpenSSH config file (~/.ssh/config).protected SSHUserInfoGet the user information.booleanGet the verbose flag.voidinit()Initialize the task.protected voidLoad the SSH configuration file.protected com.jcraft.jsch.SessionOpen an ssh session.voidsetFailonerror(boolean failure) Set the failonerror flag.voidRemote host, either DNS name or IP.voidsetKeyfile(String keyfile) Sets the keyfile for the user.voidsetKnownhosts(String knownHosts) Sets the path to the file that has the identities of all known hosts.voidsetPassphrase(String passphrase) Sets the passphrase for the users key.voidsetPassword(String password) Sets the password for the user.voidsetPort(int port) Changes the port used to connect to the remote host.voidsetServerAliveCountMax(int countMax) Set the serverAliveCountMax value.voidsetServerAliveIntervalSeconds(int interval) Set the serverAliveIntervalSeconds value in seconds.voidsetSshConfig(String sshConfig) Set the OpenSSH config file (~/.ssh/config).voidsetTrust(boolean yesOrNo) Setting this to true trusts hosts whose identity is unknown.voidsetUsername(String username) Username known to remote host.voidsetVerbose(boolean verbose) Set the verbose flag.Methods inherited from class Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypeModifier and TypeMethodDescriptionfinal voidbindToOwner(Task owner) Bind a task to another; use this when configuring a newly created task to do work on behalf of another.Returns the container target of this task.Returns the wrapper used for runtime configuration.Returns the name to use in logging messages.Return the type of task.protected RuntimeConfigurableReturn the runtime configurable structure for this task.protected voidhandleErrorFlush(String output) Handles an error line by logging it with the WARN priority.protected voidhandleErrorOutput(String output) Handles an error output by logging it with the WARN priority.protected voidhandleFlush(String output) Handles output by logging it with the INFO priority.protected inthandleInput(byte[] buffer, int offset, int length) Handle an input request by this task.protected voidhandleOutput(String output) Handles output by logging it with the INFO priority.protected final booleanHas this task been marked invalid?voidLogs a message with the default (INFO) priority.voidLogs a message with the given priority.voidLogs a message with the given priority.voidLogs a message with the given priority.voidConfigures this task - if it hasn't been done already.final voidperform()Performs this task if it's still valid, or gets a replacement version and performs that otherwise.voidForce the task to be reconfigured from its RuntimeConfigurable.voidsetOwningTarget(Target target) Sets the target container of this task.voidSets the wrapper to be used for runtime configuration.voidsetTaskName(String name) Sets the name to use in logging messages.voidsetTaskType(String type) Sets the name with which the task has been invoked.Methods inherited from class ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProjectModifier and TypeMethodDescriptionclone()Returns the description of the current action.Returns the file/location where this task was defined.Returns the project to which this component belongs.voidsetDescription(String desc) Sets a description of the current action.voidsetLocation(Location location) Sets the file/location where this task was defined.voidsetProject(Project project) Sets the project object of this component.Methods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface LogListener
log
-
Constructor Details
-
SSHExec
public SSHExec()Constructor for SSHExecTask.
-
-
Method Details
-
setCommand
Sets the command to execute on the remote host.- Parameters:
command- The new command value
-
setCommandResource
Sets a commandResource from a file- Parameters:
f- the value to use.- Since:
- Ant 1.7.1
-
setTimeout
public void setTimeout(long timeout) The connection can be dropped after a specified number of milliseconds. This is sometimes useful when a connection may be flaky. Default is 0, which means "wait forever".- Parameters:
timeout- The new timeout value in seconds
-
setOutput
If used, stores the output of the command to the given file.- Parameters:
output- The file to write to.
-
setErrorOutput
If used, stores the erroutput of the command to the given file.- Parameters:
output- The file to write to.- Since:
- Apache Ant 1.9.4
-
setInput
If used, the content of the file is piped to the remote command- Parameters:
input- The file which provides the input data for the remote command- Since:
- Ant 1.8.0
-
setInputProperty
If used, the content of the property is piped to the remote command- Parameters:
inputProperty- The property which contains the input data for the remote command.- Since:
- Ant 1.8.0
-
setInputString
If used, the string is piped to the remote command.- Parameters:
inputString- the input data for the remote command.- Since:
- Ant 1.8.3
-
setAppend
public void setAppend(boolean append) Determines if the output is appended to the file given insetOutput. Default is false, that is, overwrite the file.- Parameters:
append- True to append to an existing file, false to overwrite.
-
setErrAppend
public void setErrAppend(boolean appenderr) Determines if the output is appended to the file given insetErrorOutput. Default is false, that is, overwrite the file.- Parameters:
appenderr- True to append to an existing file, false to overwrite.- Since:
- Apache Ant 1.9.4
-
setOutputproperty
If set, the output of the command will be stored in the given property.- Parameters:
property- The name of the property in which the command output will be stored.
-
setErrorproperty
If set, the erroroutput of the command will be stored in the given property.- Parameters:
property- The name of the property in which the command erroroutput will be stored.- Since:
- Apache Ant 1.9.4
-
setResultproperty
If set, the exitcode of the command will be stored in the given property.- Parameters:
property- The name of the property in which the exitcode will be stored.- Since:
- Apache Ant 1.9.4
-
setUsePty
public void setUsePty(boolean b) Whether a pseudo-tty should be allocated.- Parameters:
b- boolean- Since:
- Apache Ant 1.8.3
-
setUseSystemIn
public void setUseSystemIn(boolean useSystemIn) If set, input will be taken from System.in- Parameters:
useSystemIn- True to use System.in as InputStream, false otherwise- Since:
- Apache Ant 1.9.4
-
setSuppressSystemOut
public void setSuppressSystemOut(boolean suppressSystemOut) If suppressSystemOut istrue, output will not be sent to System.out, if suppressSystemOut isfalse, normal behavior- Parameters:
suppressSystemOut- boolean- Since:
- Ant 1.9.0
-
setSuppressSystemErr
public void setSuppressSystemErr(boolean suppressSystemErr) If suppressSystemErr istrue, output will not be sent to System.err, if suppressSystemErr isfalse, normal behavior- Parameters:
suppressSystemErr- boolean- Since:
- Ant 1.9.4
-
setHideSensitive
public void setHideSensitive(boolean hideSensitive) If hideSensitive istrue, command will be checked for placeholders to replace, If hideSensitive isfalse, command will be executed as is, Prevents from sensitive data appearance in logs- Parameters:
hideSensitive- boolean
-
setBindSensitive
Sets the placeholders with sensitive data to replace in command, Prevents from sensitive data appearance in logs- Parameters:
bindSensitive- String
-
setSensitiveDelimiter
Sets the delimiter of sensitive data key values pairs in bindSensitive- Parameters:
sensitiveDelimiter- String
-
setPlaceholderBrackets
Sets delimiter to find placeholders and replace them- Parameters:
placeholderBrackets- String
-
execute
Execute the command on the remote host.- Overrides:
executein classTask- Throws:
BuildException- Most likely a network error or bad parameter.
-