BackupDb.java
:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class BackupDb {
public BackupDb() {
}
public String backup() throws IOException {
BufferedWriter mBufWriter = null;
// BackupDb.bat
FileWriter fileWriter = new FileWriter("BackupDb.bat");
mBufWriter = new BufferedWriter(fileWriter);
/*
* BackupDb.bat 。
* BackupDbUrl 。
* pg_dump.exe -U postgres -E utf8 test 。
* —U postgres -E utf8 。test
* BackupDbName , 。
*/
String BackupDbUrl = "d:\\PostgreSQL8\\bin\\pg_dump.exe -U postgres -E utf8 test >";
//
Date NowTimes = new Date();
// yyMMddhhmmss( ), 200805010043 2008 5 1 0 43 。
SimpleDateFormat sdf = new SimpleDateFormat("yyMMddhhmmss");
String BackupDbName = "d:\\" + sdf.format(NowTimes) + ".sql";
mBufWriter.write(BackupDbUrl);
mBufWriter.write(BackupDbName);
mBufWriter.newLine();
mBufWriter.flush();
mBufWriter.close();
try {
Runtime.getRuntime().exec("BackupDb.bat"); // BackupDb.bat
} catch (Exception e) {
e.printStackTrace();
}
return BackupDbName;
}
}
timer ,
TimerUse.java
:
package yifeng.com.org;
import java.text.SimpleDateFormat;
import java.util.*;
import java.io.*;
public class TimerUse {
public static void main(String[] args) {
PickTask picktask = new PickTask();
picktask .start(1, 60); // 60
}
}
class PickTask {
private Timer timer;
public PickTask() {
timer = new Timer();
}
private TimerTask task = new TimerTask() {
public void run() {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String beginDate = sdf.format(date);
String beginTime = beginDate.substring(11, 16);
System.out.println(beginDate);
BackupDb bdb=new BackupDb();
PrintLog pl=new PrintLog();
//
if (beginTime.equals("23:22")) {
try {
bdb.backup(); //
String dbName=bdb.backup().toString(); //
String path="d:\\";
int nameNo=dbName.lastIndexOf("\\");
File file=new File(path,dbName.substring(nameNo+1, dbName.length()));
System.out.println(dbName.substring(nameNo+1, dbName.length()));
// , ,
// : , , 。
// debug 。
// , 。
// : , 。
if(file.exists())
pl.WriteLog(dbName+" ");
else
pl.WriteLog(dbName+" ");
} catch (FileNotFoundException e) {
System.out.println("can not find the file");
} catch (IOException e) {
e.printStackTrace();
}
}
}
};
public void start(int delay, int internal) {
timer.schedule(task, delay * 1000, internal * 1000);
}
}
:
PrintLog.java
:
package yifeng.com.org;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class PrintLog {
public PrintLog(){
}
public void WriteLog(String log) throws IOException{
BufferedWriter mbw = null;
// D log。txt
FileWriter fileWriter = new FileWriter("D:\\log.txt",true);
mbw = new BufferedWriter(fileWriter);
Date date=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String writeTime=sdf.format(date);
mbw.write(writeTime+" "); //
mbw.write(log); //
mbw.newLine();
mbw.flush();
mbw.close();
}
}