⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oracleback.java

📁 根据设定时间自动备份数据库。用java编写的
💻 JAVA
字号:
package com.oracle;
import   java.util.*;   
import   java.text.SimpleDateFormat;   

public class OracleBack{
	
	private  int EXEC_HOUR=1;
	private  int EXEC_MIN=25;
	public  String databaseName;
	public  String userName;
	public  String password;
	public  String backPath;
	public  String ownerUsers;
	public  String winRarPath;
	public  int backCount=0;
	
	public  void start(){
		ReadFile rf=new ReadFile(this.EXEC_HOUR,this.EXEC_MIN);
		this.EXEC_HOUR=rf.hour;
		this.EXEC_MIN=rf.min;
		this.databaseName=rf.databaseName;
		this.userName=rf.userName;
		this.password=rf.password;
		this.backPath=rf.backPath;
		this.ownerUsers=rf.ownerUsers;
		this.winRarPath=rf.winRarPath;
		rf=null;
		System.out.println("XXXXXXXXXXXX执行备份时间:,每天"+EXEC_HOUR+":"+EXEC_MIN+"  XXXXXXXXXXXX");

		while(true){
				sleep();
				
				Tools 			tool=new Tools(); 
				String 		 strDate=(new SimpleDateFormat("yyyyMMdd")).format(new Date()).toString();
				
				tool.printBat(this,strDate);
				tool.runBat(strDate);
				tool=null;
				strDate=null;
				this.backCount++;
		}
		
	}
	public  void sleep(){
		
		Date nowDate=new Date();
		int nowHour=nowDate.getHours();
		int nowMin=nowDate.getMinutes();
	  	try   {
		  		if(this.backCount>0){
		  			System.out.println("休眠开始时间:"+nowHour+":"+nowMin+"  休眠 24时 0分");
		  			Thread.currentThread().sleep(86400000);
		  			System.out.println("休眠结束");
		  			return;
		  			}else{
					int targetM=this.EXEC_HOUR*60+this.EXEC_MIN;
		  			int nowM=nowHour*60+nowMin;
		  			int min=((targetM-nowM)+1440)%1440;
		  			
		  			System.out.println("休眠开始时间:"+nowHour+":"+nowMin+"  休眠"+(min/60)+"时"+(min%60)+"分");
		  			Thread.currentThread().sleep(min*60000);
		  			System.out.println("休眠结束");
		  			return;
		  			}
  		}catch(InterruptedException e){
  			System.out.println("Thread error");
  			}  
  	}
  	public static void main(String[] args){
  		new OracleBack().start();
  	} 
}
/**
  SimpleDateFormat函数用法
  
  G 年代标志符
  y 年
  M 月
  d 日
  h 时 在上午或下午 (1~12)
  H 时 在一天中 (0~23)
  m 分
  s 秒
  S 毫秒
  E 星期
  D 一年中的第几天
  F 一月中第几个星期几
  w 一年中第几个星期
  W 一月中第几个星期
  a 上午 / 下午 标记符 
  k 时 在一天中 (1~24)
  K 时 在上午或下午 (0~11)
  z 时区
 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -