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:
  `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
Constructor
Description
`Scp()`

## Method Summary

Modifier and Type
Method
Description
`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(String dirMode)`
Set the dir mode, defaults to "755".
`void`
`setFile(String aFromUri)`
Sets the file to be transferred.
`void`
`setFileMode(String fileMode)`
Set the file mode, defaults to "644".
`void`
`setLocalFile(String aFromUri)`
Similar to `setFile` but explicitly states that the file is a local file.
`void`
`setLocalTodir(String aToUri)`
Similar to `setTodir` but explicitly states that the directory is a local.
`void`
`setLocalTofile(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(String aFromUri)`
Similar to `setFile` but explicitly states that the file is a remote file.
`void`
`setRemoteTodir(String aToUri)`
Similar to `setTodir` but explicitly states that the directory is a remote.
`void`
`setRemoteTofile(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(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 Details

### Scp

public Scp()

## Method Details

### setFile

public void setFile(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(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(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(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(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(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(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(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(String fileMode)
Set the file mode, defaults to "644".

Parameters:
  `fileMode` - String
Since:
  Ant 1.9.5

### setDirMode

public void setDirMode(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