C.64 ScpTask
Prev | Appendix C. Optional tasks | Next

## C.64 ScpTask

The `ScpTask` copies files to and from a remote host using scp. This task requires the PHP SSH2 extension to function.

Table C.90: Attributes

Name | Type | Description | Default | Required
--- | --- | --- | --- | ---
`host` | `String` | Remote host | none | Yes
`port` | `Integer` | Remote port | 22 | No
`username` | `String` | Username to use for the connection | none | Yes
`password` | `String` | Password to use for the connection | none | No
`pubkeyfile` | `String` | Public key file (OpenSSH format) to use for the connection | none | No
`privkeyfile` | `String` | Private key file (OpenSSH format) to use for the connection | none | No
`privkeyfilepassphrase` | `String` | Private key file passphrase to use for the connection | none | No
`autocreate` | `Boolean` | Whether to autocreate remote directories | `true` | No
`todir` | `String` | Directory to put file(s) in | none | No
`file` | `String` | Filename to use | none | No
`fetch` | `Boolean` | Whether to fetch (instead of copy to) the file | `false` | No
`level` | `String` | Control the level at which the task reports status messages. One of `error`, `warning`, `info`, `verbose`, `debug`. | `verbose` | No

### C.64.1 Example

    <scp username="john" password="smith"
    host="webserver" fetch="true"
    todir="/home/john/backup"
    file="/www/htdocs/test.html" />

Fetches a single file from the remote server.

    <scp username="john" password="smith"
    host="webserver"
    todir="/www/htdocs/"
    file="/home/john/dev/test.html" />

Copies a single file to the remote server.

    <scp username="john" password="smith"
    host="webserver" todir="/www/htdocs/project/">
        <fileset dir="test">
            <include name="*.html" />
        </fileset>
    </scp>

Copies multiple files to the remote server.

### C.64.2 Supported Nested Tags

- `fileset`

- `sshconfig`

  Sometimes it is necessary to set specific configuration parameters on the ssh connection when connecting to a remote server. You can set them with the sshconfig nested tag. Set the parameters to specify connection and encryption options. These are the parameters as specified by the $methods parameter of the ssh2_connect function. See ssh2_connect for more information

  sshconfig can also be used as project level parameter with a refid so the same parameters can be re-used across a project easily.

  Table C.91: Attributes

  Name | Type | Description | Default | Required
  --- | --- | --- | --- | ---
  `kex` | `String` | List of key exchange methods to advertise, comma separated in order of preference. | n/a | No
  `hostkey` | `String` | List of hostkey methods to advertise, come separated in order of preference. | n/a | No
  `client` | `Nested Tag` | Element containing attributes crypt, comp, and mac method preferences for messages sent from client to server. All attributes are optional. | n/a | No
  `server` | `Nested Tag` | Element containing attributes crypt, comp, and mac method preferences for messages sent from server to client. All attributes are optional. | n/a | No

Prev | Up | Next
C.63 S3GetTask | Home | C.65 SshTask