java定时备份上传下载日志.docx
《java定时备份上传下载日志.docx》由会员分享,可在线阅读,更多相关《java定时备份上传下载日志.docx(32页珍藏版)》请在冰点文库上搜索。
java定时备份上传下载日志
需要的jar包有这么几个如下:
mons.io-1.4.0.jar
commons-codec-1.6.jar
commons-collections-3.2.1.jar
commons-httpclient-3.0-rc1.jar
commons-logging-1.0.4.jar
commons-net-3.1.jar
quartz-all-1.6.0.jar
配置文件信息 times.properties
ss:
10//不能为空
mm:
*//不能为空
hh:
*//不能为空
dd:
*//不能为空
mo:
*//不能为空
we:
?
//不能为空
yy:
*//不能为空
logFile:
d:
/log/t.log//不能为空
batFile:
D:
/news_back/backup.bat//不能为空
sqlFile:
D:
/news_back/backup.sql//不能为空
ftpIp:
127.0.0.1//不能为空
ftpUserName:
user//不能为空
ftpPassword:
user//不能为空
ftpPort:
21//不能为空
ftpDirectory:
shuiyi//不能为空
ftpRemoteFile:
*//
ftpLocalFilePath:
shuiyi.xml//
ftpMyFileString:
myfile.xml//
ftpOldFileNameString:
viewDetail.jsp//
ftpNewFileNameString:
newName.jsp//
ftpDeleteFile:
UpdateData.class//
ftpDownFile:
UpdateData.java//
ftpDownFileNewNameString:
loadFile.java//
//ss秒0-59,-*/
//mm分0-59,-*/
//hh时0-23,-*/
//dd日1-31,-*/?
LW
//mo月1-12,-*/
//we周1-7,-*/?
L#
//yy年1970-2099,-*/
//ftpDirectory进入文件夹webroot
//ftpRemoteFile:
列出webroot目录下所有jsp文件
//上传文件woxingwosu.xml,重新命名为myfile.xml
//日志目录不能自动创建手动创建
定时器
packagecom.db;
importjava.io.IOException;
importjava.text.ParseException;
importjava.util.logging.Level;
importorg.quartz.CronTrigger;
importorg.quartz.JobDetail;
importorg.quartz.Scheduler;
importorg.quartz.SchedulerException;
importorg.quartz.impl.StdSchedulerFactory;
publicclassQuartzMs{
publicstaticvoidmain(String[]args){
try{
try{
Util_log.testLog();
}catch(SecurityExceptione){
//TODOAuto-generatedcatchblock
Util_log.logger.log(Level.SEVERE,e.getLocalizedMessage(),e);
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
Util_log.logger.log(Level.SEVERE,e.getLocalizedMessage(),e);
}
Prop.setArg("./times.properties");
StringtimeString=Prop.getSsString()+""+Prop.getMmString()+""+Prop.getHhString()+""+Prop.getDdString()+""+Prop.getMoString()+""+Prop.getWeString();
Schedulerscheduler=newStdSchedulerFactory().getScheduler();
JobDetailjobdetail001=newJobDetail(timeString,"backup001",CreateFileUtil.class);
CronTriggercronTrigger=newCronTrigger("备份中","group001",timeString);
JobDetailjobdetail002=newJobDetail(timeString,"backup001",MiniFtp.class);
CronTriggercronTrigger2=newCronTrigger("上传中","group001",timeString);
//JobBuilderjobBuilder001=(JobBuilder)newJob(CreateFileUtil.class).withIdentity("myJob").build();
//Triggertrigger001=(Trigger)newTrigger().withIdentity("triggerName001","triggerNameGroup");
scheduler.scheduleJob(jobdetail001,cronTrigger);
scheduler.scheduleJob(jobdetail002,cronTrigger2);
scheduler.start();
}catch(SchedulerExceptionse){
Util_log.logger.log(Level.SEVERE,se.getLocalizedMessage(),se);
}catch(ParseExceptionpe){
Util_log.logger.log(Level.SEVERE,pe.getLocalizedMessage(),pe);
}finally{
try{
Util_log.testLog();
}catch(SecurityExceptione){
//TODOAuto-generatedcatchblock
Util_log.logger.log(Level.SEVERE,e.getLocalizedMessage(),e);
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
Util_log.logger.log(Level.SEVERE,e.getLocalizedMessage(),e);
}
}
}
}
日志:
packagecom.db;
importjava.io.IOException;
importjava.util.logging.FileHandler;
importjava.util.logging.Level;
importjava.util.logging.Logger;
importjava.util.logging.SimpleFormatter;
publicclassUtil_log{
staticLoggerlogger=Logger.getLogger("test.Test");
publicstaticvoidtestLog()throwsSecurityException,IOException{
Prop.setArg("./times.properties");
FileHandlerfileHandler=newFileHandler(Prop.getLogFileNameString(),true);
logger.addHandler(fileHandler);
logger.setLevel(Level.ALL);
SimpleFormattersimpleFormatter=newSimpleFormatter();
fileHandler.setFormatter(simpleFormatter);
}
}
配置文件的实现:
packagecom.db;
importjava.io.BufferedInputStream;
importjava.io.FileInputStream;
importjava.util.Properties;
importjava.util.logging.Level;
publicclassProp{
privatestaticPropertiesproperties=null;
privatestaticStringssString;
privatestaticStringmmString;
privatestaticStringhhString;
privatestaticStringddString;
privatestaticStringmoString;
privatestaticStringweString;
privatestaticStringyyString;
privatestaticStringlogFileNameString;
privatestaticStringbatFileString;
privatestaticStringsqlFileString;
privatestaticStringftpUserNameString;
privatestaticStringftpPasswordString;
privatestaticStringftpIpString;
privatestaticintftpPort;
privatestaticStringftpWorkingDirectoryString;
privatestaticStringftpRemoteFileString;
privatestaticStringftpLocalFilePath;
privatestaticStringftpMyFileString;
privatestaticStringftpOldFileNameString;
privatestaticStringftpNewFileNameString;
privatestaticStringftpDeleteFile;
privatestaticStringftpDownFile;
privatestaticStringftpDownFileNewNameString;
publicstaticStringgetFtpOldFileNameString(){
returnftpOldFileNameString;
}
publicstaticvoidsetFtpOldFileNameString(StringftpOldFileNameString){
Prop.ftpOldFileNameString=ftpOldFileNameString;
}
publicstaticStringgetFtpNewFileNameString(){
returnftpNewFileNameString;
}
publicstaticvoidsetFtpNewFileNameString(StringftpNewFileNameString){
Prop.ftpNewFileNameString=ftpNewFileNameString;
}
publicstaticStringgetFtpLocalFilePath(){
returnftpLocalFilePath;
}
publicstaticvoidsetFtpLocalFilePath(StringftpLocalFilePath){
Prop.ftpLocalFilePath=ftpLocalFilePath;
}
publicstaticStringgetFtpMyFileString(){
returnftpMyFileString;
}
publicstaticvoidsetFtpMyFileString(StringftpMyFileString){
Prop.ftpMyFileString=ftpMyFileString;
}
publicstaticStringgetFtpUserNameString(){
returnftpUserNameString;
}
publicstaticvoidsetFtpUserNameString(StringftpUserNameString){
Prop.ftpUserNameString=ftpUserNameString;
}
publicstaticStringgetFtpPasswordString(){
returnftpPasswordString;
}
publicstaticvoidsetFtpPasswordString(StringftpPasswordString){
Prop.ftpPasswordString=ftpPasswordString;
}
publicstaticStringgetFtpIpString(){
returnftpIpString;
}
publicstaticvoidsetFtpIpString(StringftpIpString){
Prop.ftpIpString=ftpIpString;
}
publicstaticintgetFtpPort(){
returnftpPort;
}
publicstaticvoidsetFtpPort(intftpPort){
Prop.ftpPort=ftpPort;
}
publicstaticStringgetSsString(){
returnssString;
}
publicstaticvoidsetSsString(StringssString){
Prop.ssString=ssString;
}
publicstaticStringgetMmString(){
returnmmString;
}
publicstaticvoidsetMmString(StringmmString){
Prop.mmString=mmString;
}
publicstaticStringgetHhString(){
returnhhString;
}
publicstaticvoidsetHhString(StringhhString){
Prop.hhString=hhString;
}
publicstaticStringgetDdString(){
returnddString;
}
publicstaticvoidsetDdString(StringddString){
Prop.ddString=ddString;
}
publicstaticStringgetMoString(){
returnmoString;
}
publicstaticvoidsetMoString(StringmoString){
Prop.moString=moString;
}
publicstaticStringgetWeString(){
returnweString;
}
publicstaticvoidsetWeString(StringweString){
Prop.weString=weString;
}
publicstaticStringgetYyString(){
returnyyString;
}
publicstaticvoidsetYyString(StringyyString){
Prop.yyString=yyString;
}
publicstaticStringgetLogFileNameString(){
returnlogFileNameString;
}
publicstaticvoidsetLogFileNameString(StringlogFileNameString){
Prop.logFileNameString=logFileNameString;
}
publicstaticStringgetBatFileString(){
returnbatFileString;
}
publicstaticvoidsetBatFileString(StringbatFileString){
Prop.batFileString=batFileString;
}
publicstaticStringgetSqlFileString(){
returnsqlFileString;
}
publicstaticvoidsetSqlFileString(StringsqlFileString){
Prop.sqlFileString=sqlFileString;
}
publicstaticStringgetFtpWorkingDirectoryString(){
returnftpWorkingDirectoryString;
}
publicstaticvoidsetFtpWorkingDirectoryString(
StringftpWorkingDirectoryString){
Prop.ftpWorkingDirectoryString=ftpWorkingDirectoryString;
}
publicstaticvoidsetArg(StringconfigFile){
properties=newProperties();
BufferedInputStreambufferedInputStream=null;
try{
bufferedInputStream=newBufferedInputStream(newFileInputStream(configFile));
properties.load(bufferedInputStream);
ssString=properties.getProperty("ss");
mmString=properties.getProperty("mm");
hhString=properties.getProperty("hh");
ddString=properties.getProperty("dd");
moString=properties.getProperty("mo");
weString=properties.getProperty("we");
yyString=properties.getProperty("yy");
logFileNameString=properties.getProperty("logFile");
batFileString=properties.getProperty("batFile");
sqlFileString=properties.getProperty("sqlFile");
ftpIpString=properties.getProperty("ftpIp");
ftpUserNameString=properties.getProperty("ftpUserName");
ftpPasswordString=properties.getProperty("ftpPassword");
ftpPort=Integer.parseInt(properties.getProperty("ftpPort"));
ftpWorkingDirectoryString=properties.getProperty("ftpDirectory");
ftpRemoteFileString=properties.getProperty("ftpRemoteFile");
ftpLocalFilePath=properties.getProperty("ftpLocalFilePath");
ftpMyFileString=properties.getProperty("ftpMyFileString");
ftpOldFileNameString=properties.getProperty("ftpOldFileNameString");
ftpNewFileNameString=properties.getProperty("ftpNewFileNameString");
ftpDeleteFile=properties.getProperty("ftpDeleteFile");
ftpDownFile=properties.getProperty("ftpDownFile");
ftpDownFileNewNameString=properties.getProperty("ftpDownFileNewNameStrin