public void monitorFileModify(Path file) {
		try {
			
			if(file.startsWith(sourceDir) && 
			   !Files.isDirectory(file)){
				Path subPath = sourceDir.relativize(file);
				for(Path targetDir : targetDirs){
					Path newPath = targetDir.resolve(subPath);
					
					if(!newPath.toFile().exists() || !FileUtils.contentEquals(newPath.toFile(),file.toFile())){
    					Files.createDirectories(newPath.getParent());
    					logger.info("cp "+file.toString()+" "+newPath.toString());
    					new File(newPath.toString()).setWritable(true);
    					Files.copy(file, newPath, REPLACE_EXISTING);
					}
				}
			}
			
		} catch (IOException e) {
            e.printStackTrace();
			logger.error(e.getMessage());
		}
	}