单服务器内同步文件

<?php
$dirs = array('/www/oa/lib','/www/oa/module','/www/oa/www/main/js','/www/oa/www/main/css');//要同步的目录
$count = 0;
foreach($dirs as $dir){
	checkDir($dir);
}
echo "\033[7;35m".' Complete> Total checked files: '.$count."!\033[0m".chr(10);
function checkDir($_dir){
	if(strlen(str_replace('/','',$_dir))<3) return;//防止删除/,增强安全性
	$dirs = scandir($_dir);
	if(count($dirs)<3) return;// echo $_dir.' is empty!'.chr(10);
	//else echo $_dir.' = '.count($dirs).chr(10);
	foreach($dirs as $dir){
		if($dir=='.'||$dir=='..') continue;
		$dir= $_dir.'/'.$dir;
		if(is_dir($dir))
			checkDir($dir);
		else
			checkFile($dir);
	}
}

function checkFile($file){
	global $count;
	$count++;
	$ext = substr($file,-3);
	if($ext!='php'&&$ext!='.js'&&$ext!='css') return;
	$file1 = str_replace('/www/oa/', '/www/oa_p/', $file);//目的目录,将源目录与目的目录的不同之处替换为目的目录的
	$cmd = false;
	$size = filesize($file);
	$size1 = 0;
	if(!is_file($file1)){
		$cmd =  'cp -f '.$file.' '.$file1;
	}else{
		
		$size1 = filesize($file1);
		if($size!=$size1){
			//echo $size.'-'.$size1.chr(10);
			$cmd =  'cp -f '.$file.' '.$file1;
		}
	}

	if($cmd){
		echo ' * Update '.$file.'(Size from '.$size1.' to '.$size.'), Done.'.chr(10);
		exec($cmd);
	}
}

转载于:https://www.cnblogs.com/lein317/p/5067592.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值