Helper PHP objects to handle rsync, scp, and ssh-based file transfers.
The available switches for rsync currently mirror those available in rsync on CentOS 6.x.
The following switches are not yet implemented:
- turning off options with the
no-
prefix - sending remote-only options with the
remote-
prefix
Full documentation can be found in the RsyncTransfer class.
<?php
use Trafficgate\Transferer\Transfer\RsyncTransfer;
$rsync = new RsyncTransfer();
$rsync
->source($source, $host = null, $user = null)
->destination($destination, $host = null, $user = null)
->transfer($idleTimeout = null);
The available switches for ssh currently mirror those available in rsync on CentOS 6.x.
Full documentation can be found in the ScpTransfer class.
<?php
use Trafficgate\Transferer\Transfer\ScpTransfer;
$scp = new ScpTransfer();
$scp
->source($source, $host = null, $user = null)
->destination($destination, $host = null, $user = null)
->transfer($idleTimeout = null);
The SSH implementation is very primitive. It will most likely be transferred to a different package in the future as it doesn't completely align with the goals of this package.
It currently implements the following switches:
-
Enable quiet mode
$ssh->quietMode($enabled = true)
-
Add a SSH configuration option
$ssh->configOptions($value, $remove = false, $enabled = true)
-
The host to connect to. This should include
username@
if it differs from the user executing the PHP script.$ssh->host($host)
-
The command to execute over SSH
$ssh->remoteCommand($command)
The command has quiet mode enabled by default along with the following SSH options:
BatchMode yes
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
<?php
use Trafficgate\Transferer\Ssh\SshCommand;
$ssh = new SshCommand();
$ssh
->host($host)
->remoteCommand($command);