用java编写终端命令

用java编写终端命令,java,linux,Java,Linux,我正在用java、servlet和jsp开发一个web系统 我有一个客户CRUD。。。创建新客户机时,我需要为其创建一个新数据库(由cnpj绑定) 用于创建和恢复默认数据库的命令 createdb teste01 pg_restore-d dbGeralCardapio dados.backup Vi um excução de comandos无终端助理示例: Runtime run = Runtime.getRuntime(); run.exec(myCommand)

我正在用java、servlet和jsp开发一个web系统

我有一个客户CRUD。。。创建新客户机时,我需要为其创建一个新数据库(由cnpj绑定)

用于创建和恢复默认数据库的命令

createdb teste01

pg_restore-d dbGeralCardapio dados.backup

Vi um excução de comandos无终端助理示例:

Runtime run = Runtime.getRuntime();
            run.exec(myCommand);
但例如


在执行命令之前,我需要以root身份登录。。。然后输入根密码。如何在java中实现这一点?

您应该能够完全通过JDBC创建数据库和恢复,并使用具有更多权限的特殊管理数据库用户(授权)。以Linux根目录运行是不可取的。而且更重。你想要的方式。使用JDBC,您可以拆分备份脚本并将脚本作为executeUpdate命令执行。@JoopEggen create我明白了。。。你能给我一个还原的例子吗?我不确定,但如果转储或备份是SQL脚本,可以分段读取语句,并使用ExecuteUpdate(可能是addBatch)单独执行它们。我这样做是为了另一个DB和有限的执行权限。