Package org.apache.tools.ant.taskdefs.optional.ssh

## Class Scp

- 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.Scp

All Implemented Interfaces:
  `java.lang.Cloneable`, `LogListener`

    public class Scp
    extends SSHBase

Ant task for sending files to remote machine over ssh/scp.

Since:
  Ant 1.6

### Field Summary

### Fields inherited from class org.apache.tools.ant.Task

`target, taskName, taskType, wrapper`

### Fields inherited from class org.apache.tools.ant.ProjectComponent

`description, location, project`

### Constructor Summary

Constructors
`Scp()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `add​(ResourceCollection res)` Adds a ResourceCollection of local files to transfer to remote host.
`void` `addFileset​(FileSet set)` Adds a FileSet transfer to remote host.
`void` `execute()` Execute this task.
`void` `init()` Initialize this task.
`void` `setCompressed​(boolean compressed)` Sets flag to determine if compression should be used for the copy.
`void` `setDirMode​(java.lang.String dirMode)` Set the dir mode, defaults to "755".
`void` `setFile​(java.lang.String aFromUri)` Sets the file to be transferred.
`void` `setFileMode​(java.lang.String fileMode)` Set the file mode, defaults to "644".
`void` `setLocalFile​(java.lang.String aFromUri)` Similar to `setFile` but explicitly states that the file is a local file.
`void` `setLocalTodir​(java.lang.String aToUri)` Similar to `setTodir` but explicitly states that the directory is a local.
`void` `setLocalTofile​(java.lang.String aToUri)` Changes the file name to the given name while receiving it, only useful if receiving a single file.
`void` `setPreservelastmodified​(boolean yesOrNo)` Sets flag to determine if file timestamp is to be preserved during copy.
`void` `setRemoteFile​(java.lang.String aFromUri)` Similar to `setFile` but explicitly states that the file is a remote file.
`void` `setRemoteTodir​(java.lang.String aToUri)` Similar to `setTodir` but explicitly states that the directory is a remote.
`void` `setRemoteTofile​(java.lang.String aToUri)` Changes the file name to the given name while sending it, only useful if sending a single file.
`void` `setSftp​(boolean yesOrNo)` Setting this to true to use sftp protocol.
`void` `setTodir​(java.lang.String aToUri)` Sets the location where files will be transferred to.

### Methods inherited from class org.apache.tools.ant.taskdefs.optional.ssh.SSHBase

`addConfiguredAdditionalConfig, getFailonerror, getHost, getPort, getServerAliveCountMax, getServerAliveIntervalSeconds, getSshConfig, getUserInfo, getVerbose, loadSshConfig, openSession, setFailonerror, setHost, setKeyfile, setKnownhosts, setPassphrase, setPassword, setPort, setServerAliveCountMax, setServerAliveIntervalSeconds, setSshConfig, setTrust, setUsername, setVerbose`

### Methods inherited from class org.apache.tools.ant.Task

`bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

### Methods inherited from class org.apache.tools.ant.ProjectComponent

`clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.apache.tools.ant.taskdefs.optional.ssh.LogListener

`log`

### Constructor Detail

#### Scp

    public Scp()

### Method Detail

#### setFile

    public void setFile​(java.lang.String aFromUri)

Sets the file to be transferred. This can either be a remote file or a local file. Remote files take the form:

user:password@host:/directory/path/file.example

Files to transfer can also include a wildcard to include all files in a remote directory. For example:

user:password@host:/directory/path/*

Parameters:
  `aFromUri` - a string representing the file to transfer.

#### setTodir

    public void setTodir​(java.lang.String aToUri)

Sets the location where files will be transferred to. This can either be a remote directory or a local directory. Remote directories take the form of:

user:password@host:/directory/path/

This parameter is required.

Parameters:
  `aToUri` - a string representing the target of the copy.

#### setLocalFile

    public void setLocalFile​(java.lang.String aFromUri)

Similar to `setFile` but explicitly states that the file is a local file. This is the only way to specify a local file with a @ character.

Parameters:
  `aFromUri` - a string representing the source of the copy.
Since:
  Ant 1.6.2

#### setRemoteFile

    public void setRemoteFile​(java.lang.String aFromUri)

Similar to `setFile` but explicitly states that the file is a remote file.

Parameters:
  `aFromUri` - a string representing the source of the copy.
Since:
  Ant 1.6.2

#### setCompressed

    public void setCompressed​(boolean compressed)

Sets flag to determine if compression should be used for the copy.

Parameters:
  `compressed` - boolean
Since:
  Ant 1.9.8

#### setLocalTodir

    public void setLocalTodir​(java.lang.String aToUri)

Similar to `setTodir` but explicitly states that the directory is a local. This is the only way to specify a local directory with a @ character.

Parameters:
  `aToUri` - a string representing the target of the copy.
Since:
  Ant 1.6.2

#### setPreservelastmodified

    public void setPreservelastmodified​(boolean yesOrNo)

Sets flag to determine if file timestamp is to be preserved during copy.

Parameters:
  `yesOrNo` - boolean
Since:
  Ant 1.8.0

#### setRemoteTodir

    public void setRemoteTodir​(java.lang.String aToUri)

Similar to `setTodir` but explicitly states that the directory is a remote.

Parameters:
  `aToUri` - a string representing the target of the copy.
Since:
  Ant 1.6.2

#### setLocalTofile

    public void setLocalTofile​(java.lang.String aToUri)

Changes the file name to the given name while receiving it, only useful if receiving a single file.

Parameters:
  `aToUri` - a string representing the target of the copy.
Since:
  Ant 1.6.2

#### setRemoteTofile

    public void setRemoteTofile​(java.lang.String aToUri)

Changes the file name to the given name while sending it, only useful if sending a single file.

Parameters:
  `aToUri` - a string representing the target of the copy.
Since:
  Ant 1.6.2

#### setSftp

    public void setSftp​(boolean yesOrNo)

Setting this to true to use sftp protocol.

Parameters:
  `yesOrNo` - if true sftp protocol will be used.

#### setFileMode

    public void setFileMode​(java.lang.String fileMode)

Set the file mode, defaults to "644".

Parameters:
  `fileMode` - String
Since:
  Ant 1.9.5

#### setDirMode

    public void setDirMode​(java.lang.String dirMode)

Set the dir mode, defaults to "755".

Parameters:
  `dirMode` - String
Since:
  Ant 1.9.5

#### addFileset

    public void addFileset​(FileSet set)

Adds a FileSet transfer to remote host. NOTE: Either addFileSet() or setFile() are required. But, not both.

Parameters:
  `set` - FileSet to send to remote host.

#### add

    public void add​(ResourceCollection res)

Adds a ResourceCollection of local files to transfer to remote host.

Parameters:
  `res` - ResourceCollection to send to remote host.
Since:
  Ant 1.9.7

#### init

    public void init()
              throws BuildException

Initialize this task.

Overrides:
  `init` in class `SSHBase`
Throws:
  `BuildException` - on error

#### execute

    public void execute()
                 throws BuildException

Execute this task.

Overrides:
  `execute` in class `Task`
Throws:
  `BuildException` - on error