Heim > Datenbank > MySQL-Tutorial > Java?????????mysql??????23:00????????????

Java?????????mysql??????23:00????????????

WBOY
Freigeben: 2016-06-07 16:16:10
Original
737 Leute haben es durchsucht

Java?????????mysql??????23:00???????????? public class DatabaseBackup { /** * * @param dbdir mysql????????????????????? * @param dbname ?????????????????? * @param backdir ??????????????? */ public static void backup(String dbdir, String db

Java?????????mysql??????23:00????????????
public class DatabaseBackup {
    /**
     * 
     * @param dbdir mysql?????????????????????
     * @param dbname  ??????????????????
     * @param backdir ???????????????
     */
    public static void backup(String dbdir, String dbname, String backdir) {
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy_MM_dd_HHmmss");
        String currentTime = dateFormat.format(calendar.getTime());
        try {
            long startTime = System.currentTimeMillis();
            Runtime rt = Runtime.getRuntime();
            Process child = rt
                    .exec(dbdir + "/bin/mysqldump --default-character-set=utf8 -uroot -p123456 " + dbname);
            InputStream in = child.getInputStream();
            InputStreamReader xx = new InputStreamReader(in, "utf8");

            FileOutputStream fout = new FileOutputStream(new File(backdir, dbname + "_" + currentTime + ".bak"));
            OutputStreamWriter writer = new OutputStreamWriter(fout, "utf8");

            dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

            writer.write("-- Dump by Microsoul at " + dateFormat.format(calendar.getTime()) + "\r\n");

            String inStr;
            BufferedReader br = new BufferedReader(xx);
            // ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Java????????????????????????
            while ((inStr = br.readLine()) != null) {
                writer.write(inStr);
                writer.write("\r\n");
            }

            writer.write("\r\n-- Use " + (System.currentTimeMillis() - startTime) + "ms\r\n");

            writer.flush();
            in.close();
            xx.close();
            br.close();
            writer.close();
            fout.close();
        } catch (Exception e) {
            PrintStream print = null;
            try {
                print = new PrintStream(new File(backdir, currentTime + "_backup_err.log"));
                dateFormat.applyPattern("yyyy-MM-dd HH:mm:ss");
                currentTime = dateFormat.format(calendar.getTime());
                print.println(currentTime + "  backup failed.");
                e.printStackTrace(print);
                print.flush();
            } catch (IOException e2) {

            } finally {
                if (print != null) {
                    print.close();
                }
            }
        }

    }
}
Nach dem Login kopieren

?????????????????????????????

public class Test {
    public static void main(String[] args) {
        Calendar twentyOne = Calendar.getInstance();
        twentyOne.set(Calendar.HOUR_OF_DAY, 23);
        twentyOne.set(Calendar.MINUTE, 0);
        twentyOne.set(Calendar.SECOND, 0);

        new Timer().schedule(new TimerTask() {
            @Override
            public void run() {
                DatabaseBackup.backup("/usr/local/mysql", "test", "/home/xtiger/db/");
            }
        }, twentyOne.getTime(), 24 * 3600 * 1000);
    }
}
Nach dem Login kopieren

??????????????????????????????????? Timer???????????????

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage