设计到几个方面:
1、java 执行 linux 或windows命令
2、数据库备份还原命令
3、postgresql 备份还原命令 没有密码参数,目前仅程序与数据库在同一服务器上执行通过。
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static void main(String[] args) {
Date d = new Date(); // 备份文件名称
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String filename = sdf.format(d) + ".tar";
String dbname = "ipam";
String username = "postgres";
String dbpath = "d:\\Program Files\\PostgreSQL\\9.1\\bin\\";
String backuppath = "d:\\" + filename;
// new Test().backupDB(dbname, username, backuppath, dbpath);
backuppath = "d:\\20120826095554.tar";
new Test().restoreDB(dbname, username, backuppath, dbpath);
}
public boolean backupDB(String dbname, String username, String backuppath,
String dbpath) {
// 本地测试用
// username = "postgres";
// String dbpath = "d:\\Program Files\\PostgreSQL\\9.1\\bin\\";
boolean flag = true;// 备份是否成功
Runtime rt = Runtime.getRuntime();// 得到jvm的运行环境
Process process;
StringBuffer cmdbuf = new StringBuffer();
cmdbuf.append(dbpath);
cmdbuf.append("pg_dump -U ");// 用户名
cmdbuf.append(username);
cmdbuf.append(" -f ");
cmdbuf.append(backuppath);
cmdbuf.append(" -E utf8 ");// 编码
cmdbuf.append(" -Ft ");
cmdbuf.append(dbname);
try {
// 调用 cmd:
System.out.println(cmdbuf);
process = rt.exec(cmdbuf.toString());
} catch (Exception e) {
flag = false;
e.printStackTrace();
}
return flag;
}
public boolean restoreDB(String dbname, String username, String backuppath,
String dbpath) {
boolean flag = true;// 恢复是否成功
Runtime rt = Runtime.getRuntime();// 得到jvm的运行环境
Process process;
StringBuffer cmdTemp = new StringBuffer();// 命令模版
cmdTemp.append(dbpath);
cmdTemp.append("pg_restore -U ");
cmdTemp.append(username);
cmdTemp.append(" -c -d ");
cmdTemp.append(" " + dbname + " ");
cmdTemp.append(backuppath);
try {
process = rt.exec(cmdTemp.toString());// 还原数据库
} catch (Exception e) {
flag = false;
e.printStackTrace();
}
return flag;
}
}
分享到:
相关推荐
在使用这个Java编写的数据库备份程序时,用户需要根据自己的数据库类型(如MySQL, Oracle, PostgreSQL等)调整JDBC配置,并可能需要定制备份和恢复策略以适应特定的需求。同时,安全问题也不容忽视,备份文件应加密...
本文将深入探讨“数据库备份还原”的概念、重要性、常见方法以及源代码实现。 首先,数据库备份是保护数据免受意外丢失或损坏的关键步骤。这可能包括硬件故障、软件错误、人为误操作、病毒攻击或者自然灾害等不可...
TreeDMS数据库管理系统使用JAVA开发,实现基于WEB方式对 PostgreSQL 数据库进行维护管理操作。 功能包括:数据库的展示,库表的展示,表字段结构的展示, SQL语句的在线编辑批量执行,表结构的在线设计维护, 数据的...
### PostgreSQL数据库的使用知识点 #### 一、PostgreSQL概况 - **定义**: PostgreSQL是一款功能强大的开源对象关系型数据库系统,支持复杂查询,并可处理多种数据类型,包括JSON、XML、图像、视频等。 - **特点**: ...
本资源包含的数据库备份可能是SQL脚本或者二进制备份文件,可以使用MySQL、Oracle、PostgreSQL等数据库的还原工具进行恢复。在部署时,正确导入这些备份至关重要,以确保系统初始化时拥有正确的数据状态。 WMS管理...
7. **备份与恢复**:数据库内的文件和数据一同备份,恢复时也能一起还原,保证数据一致性。 8. **工具**:很多开发工具和库提供了方便的API来处理文件的数据库操作,如Java的JDBC、Python的psycopg2等。 9. **最佳...
- **PostgreSQL数据库**:掌握PostgreSQL数据库的模式、表、视图、函数、聚集、转换、域、索引、实体化视图等对象的操作。 - **SQLite数据库**:学习SQLite数据库中表、视图、索引、触发器等对象的创建和管理。 - **...
3Oracle 外部表访问参数59Oracle 索引组织表59Oracle 索引组织表选项59Oracle 视图60Oracle 函数或过程61Oracle 数据库链接62Oracle 索引63Oracle Java65Oracle 实体化视图66Oracle 实体化视图日志68Oracle 包69...
2. **备份数据库**:根据JHipster配置,可能是SQL数据库(如MySQL、PostgreSQL)或者NoSQL数据库(如MongoDB)。需使用相应的命令行工具或管理软件进行数据导出。 3. **备份配置文件**:包括application.yml或...
熟悉数据库的备份工具和还原策略可以减少风险。 9. **存储过程和触发器**:在使用存储过程和触发器时,可能出现逻辑错误或调用问题。确保正确编写和测试这些对象,以防止运行时错误。 10. **版本兼容性**:升级或...
对于网络投稿系统的开发,开发者可能使用了常见的Web开发技术,如PHP、Java、Python等后端语言,配合MySQL、PostgreSQL等关系型数据库管理系统,以及HTML、CSS、JavaScript等前端技术。此外,为了提高用户体验,可能...
- **数据库服务器**:Odoo推荐使用PostgreSQL数据库,因为它具有高性能和良好的扩展性。 - **应用服务器架构**:Odoo应用服务器的核心是Python编写的服务器端组件,负责处理HTTP请求,执行业务逻辑等。 #### 二、...
而"数据库"文件可能包含数据库脚本或实际的数据库文件,比如.sql备份,用于还原或初始化数据库结构和数据。 在系统设计时,考虑到安全性,开发者需要应用最佳实践,例如使用HTTPS进行加密通信,防止SQL注入和跨站...
该程序可以帮助您连接到SQL ... 它具有从时间戳记日期到常规日期格式的转换,反之亦然+ MySQL数据库的备份和还原+导出到CSV文件。 无需安装,只需启动并使用。 程序是使用Java 1.7版本创建的,请使用相同版本启动它。
软件环境则要求CentOS 7.2至7.6 x86_64操作系统,Oracle Java 8/11运行环境,Tomcat 8.0/8.5应用服务器,PostgreSQL 9.6数据库环境,兼容Chrome 40和IE 9-11浏览器。 部署过程包括以下几个步骤: 1. 登录运行管理...
OBA通常需要Java运行环境(如JDK)、Web服务器(如Tomcat)和数据库服务器(如MySQL或PostgreSQL)等。要确保所有依赖组件的版本与OBA兼容。 2. **配置管理**:在部署过程中,需要对OBA的配置文件进行调整,包括...
数据库方面,MySQL、PostgreSQL或MongoDB常用于存储用户信息、租赁记录等数据。此外,API接口设计和OAuth2等安全机制是保障系统稳定性和用户数据安全的关键。 二、系统功能模块 1. 用户管理:注册、登录、个人信息...
PostgreSQL 号称“世界上最先进的开源数据库“,可以运行在多种平台下,是tb级数据库,而且性能也很好 中大型企业 oracle 甲骨文 获得最高认证级别的ISO标准安全认证,性能最高, 保持开放平台下的TPC-D和TPC-C的...
数据维护:mysql数据库备份与还原。2、运维监控定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。令牌管理:用户登录token管理。数据监控: 监视当前系统数据库连接池状态,可进行分析SQL找出系统性能...