albertofem / rsync-lib
A simple PHP rsync wrapper library
Installs: 310 707
Dependents: 8
Suggesters: 0
Security: 0
Stars: 89
Watchers: 4
Forks: 30
Open Issues: 6
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: >=4.0,<6
This package is not auto-updated.
Last update: 2025-02-24 07:46:32 UTC
README
A simple PHP rsync wrapper library
Requirements
This library requires PHP >=5.4
Changelog
01-13-2018
- Dropped PHP 5.3 support
- Rename
public_key
option to the correctprivate_key
one. Old one still works and will be deprecated in version 2.0
Installation
Require it in composer:
composer require albertofem/rsync-lib 1.0.0
Install it:
composer update albertofem/rsync-lib
If you want to run the tests:
./vendor/bin/phpunit
Usage
Basic usage example:
<?php use AFM\Rsync\Rsync; $origin = __DIR__; $target = "/target/dir/"; $rsync = new Rsync; $rsync->sync($origin, $target);
Change behaviour:
<?php use AFM\Rsync\Rsync; $origin = __DIR__; $target = "/target/dir"; $config = array( 'delete_from_target' => true, 'ssh' => array( 'host' => 'myhost.com', 'private_key' => '/my/key' ) ); $rsync = new Rsync($config); // change options programatically $rsync->setFollowSymlinks(false); $rsync->sync($origin, $target);
Options
Construct options | Rsync argument | Comment |
---|---|---|
executable | path of rsync (default: /usr/bin/rsync ) |
|
archive | -a, --archive | archive mode; equals -rlptgoD (no -H,-A,-X) |
update | -u, --update | skip files that are newer on the receiver |
follow_symlinks | -L, --copy-links | transform symlink into referent file/dir |
dry_run | -n, --dry-run | perform a trial run with no changes made |
option_parameters | add any optional options we've specified | |
verbose | -v, --verbose | increase verbosity |
delete_from_target | --delete | delete extraneous files from destination dirs |
delete_excluded | --delete-excluded | also delete excluded files from destination dirs |
exclude | --exclude=PATTERN | exclude files matching PATTERN |
excludeFrom | --exclude-from=FILE | read exclude patterns from FILE |
recursive | -r, --recursive | recurse into directories |
times | -t, --times | preserve modification times |
show_output | execute and buffers command result to print it | |
ssh | set ssh options | |
compression | -z, --compress | compress file data during the transfer |
remote_origin | use ssh for origin path | |
remove_source | --remove-source-files | sender removes synchronized files (non-dirs) |
info | --info=FLAGS | fine-grained informational verbosity |
compare_dest | --compare-dest=DIR | also compare destination files relative to DIR |
prune_empty_dirs | -m, --prune-empty-dirs | prune empty directory chains from the file-list |