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();
                }
            }
        }

    }
}

 以上是备份的代码;

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);
    }
}

 以上是调用的代码。通过 Timer定时调用。

手把手教你用支付宝密钥工具生成RSA2密钥对(含Windows/Mac操作截图) 本文详细介绍了如何使用支付宝密钥工具生成RSA2密钥对,包括Windows和Mac平台的操作步骤与截图。从工具下载、安装到密钥生成、配置支付宝平台,再到开发环境集成实战,手把手教你完成支付宝支付接口对接。特别强调密钥安全管理和最佳实践,帮助开发者避免常见安全隐患。 阅读详情

相关推荐

Oracle EBS R12.2 安装 -- Step by Step

Oracle EBS R12.2 安装 -- Step by Step

Albert Tan DBA之路 1514

java 备份 mysql 数据库

使用 mysqldump 命令 备份数据库

bug搬运工 2184

从0到1:提示工程架构师搭建Agentic AI系统的全流程实战手册

Agentic AI(自主智能体)是具备自主决策能力的大模型应用感知(Perceive):获取外部环境信息(比如代码仓库、用户输入、数据库数据);记忆(Memory):存储和检索历史信息(比如过去的审计记录、用户偏好);规划(Plan):将复杂任务拆解为可执行的步骤(比如“代码审计”拆成3步);行动(Act):调用工具或API完成具体操作(比如调用Git克隆仓库、调用Safety查漏洞);反馈(Feedback):根据结果调整策略(比如用户说“报告不够详细”,下次增加逻辑漏洞的分析深度)。

AI Agent Harness Engineering 1042

Java定时备份MySql数据库,通过mysql命令备份

Java定时备份MySql数据库,通过mysql命令备份

qq_19891197的博客 3369

论文解析-sciPENN

用这2个CITE-seq共有的protein作为训练集,分别将他们特有的protein作为测试集,评估sciPENN对CITE-seq数据集中缺失的protein丰度预测准确度。来自Seurat 4 的PBMC数据集,样本被注射水疱性口炎病毒 (VSV) 载体 HIV 疫苗,数据集包含每个样本注射疫苗0天、3天、7天的CITE-seq数据。PBMCs作为训练集,MALT作为测试集,利用scRNA-seq测试17个蛋白质表达水平。Monocyte:随机取4个样本作为训练集,剩余4个样本作为测试集。

weixin_46065198的博客 1022

国产FPGA开发实战:紫光同创编程软件中的约束文件详解与常见问题

本文详细解析了紫光同创FPGA编程软件中约束文件的关键配置技巧与常见问题。通过基础架构解析、时钟约束实践、物理约束调控及典型问题排查指南,帮助开发者高效掌握国产FPGA开发中的约束文件应用,提升开发效率与设计稳定性。

gin88的博客 909

Java备份mysql数据库

mysqldump -h(IP) -P(端口号) -u(用户名) -p(密码) --default-character-set=utf8 数据库名 > 备份至本地磁盘的何处。主要用到了JAVA的RunTime类和Process类来实现命令窗口的操作,需要注意的是-p、-h、-u、-p(密码)和后面的值之间不要加入空格,不然会出现不可预知的错误。1、安装mysql数据库,并且配置mysql安装目录bin目录至系统环境变量中。

super的博客 4368

macOS 27下PlayCover“没有权限打开”的完整修复指南

macOS系统通过Gatekeeper、TCC(透明、同意与控制)和安全启动等机制,对第三方应用进行层层校验,以防范恶意代码。这些机制会检查应用的隔离属性、签名状态以及所需系统权限,当任一环节不满足时,就会出现“没有权限打开”的提示。对于开发者工具或未上架App Store的开源软件,这类拦截尤为常见。尤其在macOS 27上,系统进一步收紧了绕过策略,导致PlayCover等工具无法正常启动。本文以PlayCover为例,详细解析权限链路上的三道关卡,并给出清除隔离属性、调整SIP状态、重置TCC记录等完

weixin_32612263的博客 749

使用 Apache Commons Exec 自动化脚本执行实现 MySQL 数据库备份

在日常的数据库维护中,备份是非常重要的任务。通过 Apache Commons Exec,可以方便地自动化执行 MySQL 数据库备份脚本。本文将介绍如何使用 Apache Commons Exec 实现这一功能。通过 Apache Commons Exec 可以轻松实现自动化执行 MySQL 数据库备份脚本。这不仅简化了备份过程,还确保了备份任务的可靠性和可控性。

Micro麦可乐的博客 1万+

Openclaw接入大模型API,操作本地windows文件

本文介绍了在WSL2环境下配置OpenClaw使用阿里百炼API的方法。主要内容包括:1)确认WSL2安装完成;2)配置阿里百炼API(需注意Qwen3-Max-Thinking为收费模型);3)提供正确的JSON配置格式示例,强调apiKey必须填写真实值;4)说明配置错误需修改Linux配置文件;5)建议通过询问模型信息验证连接成功。后续将介绍如何切换免费API及本地文件访问功能。

qq_27246521的博客 989

单片机原理及应用知识点汇总(一)

在键闭合稳定时,读取键的状态,并且必须判别;、串行通信的优点是只需一对传送线,成本低,适于远距离通信,缺点是传送速度较低。、并行通信的优点是传送速度高,缺点是所需传送线较多,远距离通信不方便。、串行通信中,为使设备同步工作,需要通信双方有两个共同的要求,一是。系列单片机的指令中,既有带借位的减法指令,又有不带借位的减法指令。、简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理。、在异步通信的帧格式中,数据位是低位在前高位在后的排列方式。、异步通信中,波特率是指每秒传送二进制代码的位数,单位是。

T19900的博客 697

Linux下mysql数据库的自动备份与还原 远程备份和本地备份

Linux系统下Mysql备份还原 MySql的还原与备份 1 备份     mysqldump -u root -p shop > /home/andy/shop20150910.sql      其中:root为用户名,shop为要备份的数据库,自动会备份到/home/andy/文件目录下    也可以压缩备份     mysqldump -u root -p shop |

Andyの笔记 2129

微信小程序视频内容服务类目审核不过?绕过审核的两种思路!

虽然不推荐绕过官方审核,但在实际项目中,总有一些特殊情况:比如,最近开发的小程序涉及视频播放,提交审核时,被官方要求补充“教育服务 - 在线视频课程”类目。但我们的内容只是车辆使用介绍,并非教育课程,无法提供相应资质。该怎么办?很多开发者发现,小程序开发不是最难的,审核才是最难的。 微信为了规避法律风险,要求某些功能必须提供资质。例如:然而,并不是所有公司都能轻松申请到这些资质,甚至有些资质根本不适用于我们的业务,导致审核卡住,无法上线。就像我遇到的这个问题,官方要求我们补充“在线视频课程”类目,但实际业务

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 3248

Java定时备份MySql数据库 Java定时备份数据库 Java备份MySql数据库 java定时备份mysql数据库 java备份mysql数据库

【代码】Java定时备份MySql数据库 Java定时备份数据库 Java备份MySql数据库 java定时备份mysql数据库 java备份mysql数据库。

半只 4094

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java实现的MySQL自动备份和还原(struts2+Hibernate)---兼容 window+Linux

相信很多朋友都经历过数据库出问题的情况,我也同样(见我的上一篇博文:phpmyadmin误删表后的恢复过程(心惊胆跳啊) )。如果数据很大或者很重要,那么恢复起来是相当困难的,所以我们在做一个相对完善的系统时,数据库的备份/还原功能是必不可少的。本文将在javaEE环境下实现MySQL的自动备份/还原,使用了struts2和hibernate框架,MySQL版本是5.1.16。   下图展示

集成显卡的开源主页 https://github.com/0604hx 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

shell脚本:备份数据库、代码上线

备份MySQL数据库 场景: 一台MySQL服务器,跑着5个数据库,在没有做主从的情况下,需要对这5个库进行备份 需求: 1)每天备份一次,需要备份所有的库 2)把备份数据存放到/data/backup/下 3)备份文件名称格式示例:dbname-2019-11-23.sql 4)需要对1天以前的所有sql文件压缩,格式为gzip 5)本地数据保留1周 6)需要把备份的数据同步到远程备份中心,假如...

FUYY'S BLOG 2万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

MySQL在CentOS上执行自动备份

​ 开发中我们常常有使用Svn或者Git来管理我们的代码或者是项目相关的文件,然而他们都有一个共同点就是:版本控制 ​ 很多人会问为什么要使用Svn或者是Git,那么我会问:我相信你写的代码很好,但是有一天你修改了很多很多的Bug,但是突然想到以前的代码中有一个比较重要的算法你不小心覆盖掉了,这时候你应该怎么办? ​ 或许你会告诉我你可以在修改这些代码之前备份一次当前修改的文件,或者是当前项目。 ...

wanghao112956的博客 144

转载——java实现mysql数据库的备份及还原

java实现mysql数据库的备份及还原 备份: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ...

huasm1的博客 403

shell脚本每天自动备份mysql数据库

安装 crontab检测是否已安装 crontab# crontab-bash: crontab: command not found 那说明没有安装 crontab 开始安装:# yum -y install vixie-cron等待安装完成即可.编写备份数据库shellvim /usr/java/shell/bak_mysql.sh脚本内容如下:[plain] view plain copy ...

温攀峰的博客 458

mysql putty 备份_10 个MySQL数据库备份教程推荐

MySQL数据库面试题(2020最新版)大家好,我是优快云的博主ThinkWon,“2020博客之星年度总评选"开始啦,希望大家帮我投票,每天都可以投多票哦,点击下方链接,然后点击"最大”,再点击"投TA一票"就可以啦!投票链接:https://bss.youkuaiyun.com/m/topic/blog_star2020/detail?username=thinkwon在技术的世界里,ThinkWon将...

weixin_42400669的博客 282

定期存款单的mysql编写程序_【mysql】备份篇2:使用java程序定期备份mysql数据库...

1 packagecom.agen.util;23 importjava.io.BufferedReader;4 importjava.io.File;5 importjava.io.FileOutputStream;6 importjava.io.IOException;7 importjava.io.InputStream;8 importjava.io.InputStreamReader;9...

weixin_36410567的博客 111

linux java mysql 备份 runtime_Linux定时备份MySQL数据库

做项目有时候要备份数据库,手动备份太麻烦,所以找了一下定时备份数据库的方法Linux里有一个crontab命令被用来提交和管理用户的需要周期性执行的任务,就像Windows里的定时任务一样,用这个就可以设置定时任务去执行相应的操作。所以,我们通过创建一个shell文件,把执行的命令放在里面,然后再用crontab去定时执行就可以达到我们想要的效果了。接下来我们一步一步做。一. 新建一个backu...

weixin_29061821的博客 306

java linux mysql 备份_java实现的MySQL自动备份和还原(struts2+Hibernate)---兼容 window+Linux...

相信很多朋友都经历过数据库出问题的情况,我也同样(见我的上一篇博文:phpmyadmin误删表后的恢复过程(心惊胆跳啊) )。如果数据很大或者很重要,那么恢复起来是相当困难的,所以我们在做一个相对完善的系统时,数据库的备份/还原功能是必不可少的。本文将在javaEE环境下实现MySQL的自动备份/还原,使用了struts2和hibernate框架,MySQL版本是5.1.16。下图展示的是we...

weixin_32968007的博客 159

mysql日常备份和增量备份SHELL脚本

每7天备份一次所有数据,每天备份binlog,也就是增量备份. (如果数据少,每天备份一次完整数据即可,可能没必要做增量备份) 作者对shell脚本不太熟悉,所以很多地方写的很笨 :) 开启 bin log 在mysql 4.1版本中,默认只有错误日志,没有其他日志.可以通过修改配置打开bin log.方法很多,其中一个是在/etc/my.cnf中的mysqld部分加入: 1...

weixin_34218890的博客 437
上一篇: The last packet successfully received from the server was 596,688 milliseconds a
下一篇: [Js++开发历程] 前言
staffrobot
博客等级 码龄19年 6粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值