|
|
package com.platform.glusterfs;
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
import org.apache.log4j.Logger;
|
|
|
import org.apache.log4j.PropertyConfigurator;
|
|
|
import org.junit.Test;
|
|
|
|
|
|
import com.platform.utils.Constant;
|
|
|
|
|
|
|
|
|
/**
|
|
|
* <一句话功能简述> 复制数据
|
|
|
* <功能详细描述>
|
|
|
* @author chen
|
|
|
* @version [版本号,2016年9月8日]
|
|
|
* @see [相关类/方法]
|
|
|
* @since [产品/模块版本]
|
|
|
*/
|
|
|
|
|
|
public class CopyData {
|
|
|
public static Logger log = Logger.getLogger(CopyData.class);
|
|
|
|
|
|
public int copyVolumeFiles(String sourceVolumeName, String destVolumeName, String fileName) {
|
|
|
log.info("start copy " + fileName + " from " + sourceVolumeName + " to " + destVolumeName);
|
|
|
int status = -1;
|
|
|
/**
|
|
|
* get mount point of volumeName
|
|
|
*/
|
|
|
|
|
|
String sourceFolderName = sourceVolumeName;
|
|
|
String destFolderName = destVolumeName;
|
|
|
status = copyFolderFiles(sourceFolderName, destFolderName, fileName);
|
|
|
return status;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* -1 :error; -2: the filename is not exists ;-3 :destFolderName ; 1: right
|
|
|
* not exists
|
|
|
*
|
|
|
* @param folderName
|
|
|
* @param fileName
|
|
|
* @return
|
|
|
*/
|
|
|
public int copyFolderFiles(String sourceFolderName, String destFolderName, String fileName) {
|
|
|
int progress=0;
|
|
|
log.info("start copy " + fileName + " from " + sourceFolderName + " to " + destFolderName);
|
|
|
ShowData showData=new ShowData();
|
|
|
Map<String,String> reStrings=showData.showFolderData(destFolderName);
|
|
|
if(reStrings==null){
|
|
|
log.info("3201 "+destFolderName+" is not exists");
|
|
|
return -3;
|
|
|
}
|
|
|
|
|
|
reStrings=showData.showFolderData(sourceFolderName+"/"+fileName);
|
|
|
if(reStrings==null){
|
|
|
log.info("3202 "+sourceFolderName+"/"+fileName+" is not exists");
|
|
|
return -2;
|
|
|
}
|
|
|
String command = "cp -r " + sourceFolderName + "/" + fileName+" "+destFolderName;
|
|
|
/*
|
|
|
* RunCommand runCommand = new RunCommand();
|
|
|
|
|
|
List<String> reStrings = runCommand.runCommandWait(command);
|
|
|
*/
|
|
|
Constant.ganymedSSH.execCmdNoWaitAcquiescent(command);
|
|
|
|
|
|
log.info("copy " + sourceFolderName +"/" + fileName+ " to " + destFolderName + " running");
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
|
|
|
@Test
|
|
|
public void testCopyFolderFiles() {
|
|
|
PropertyConfigurator.configure("log4j.properties");
|
|
|
copyFolderFiles("/home", "/home/ubuntu", "system_data");
|
|
|
}
|
|
|
}
|