phpgt/sync

本包最新版本(v1.3.0)没有提供许可证信息。

同步两个目录。

维护者

详细信息

github.com/PhpGt/Sync

源代码

问题

资助包维护!
PhpGt

v1.3.0 2023-07-07 16:49 UTC

README

rsync是确保两个目录内容相同的工具,但在Unix系统中默认存在。此仓库提供简单的递归目录同步,使用纯PHP实现,兼容Linux、Mac和Windows。

Build status Code quality Code coverage Current version PHP.Gt/Sync documentation

示例用法

$source = "/var/www/example.com";
$destination = "/var/backup/example.com";

try {
	$sync = new DirectorySync($source, $destination);
	$sync->exec(DirectorySync::COMPARE_FILEMTIME);
}
catch(SyncException $exception) {
	fwrite(STDERR, "Error performing sync: " . $exception->getMessage());
	exit(1);
}

echo "Sync complete!" . PHP_EOL;
echo "Changed: " . count($sync->getCopiedFilesList());
echo "Deleted: " . count($sync->getDeletedFilesList());
echo "Skipped: " . count($sync->getSkippedFilesList());

特性

  • 跨平台兼容的目录同步(Linux、Windows、Mac)。
  • 通过glob匹配选择性同步(仅同步脚本目录下的js文件,使用/script/**/*.js)。
  • 同步执行后获取已复制/删除/跳过的文件统计信息。
  • 内存占用低。