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)。
  • 同步执行后获取已复制/删除/跳过的文件的统计信息。
  • 内存占用低。