#应用程序 #备份 #命令行工具 #SQL服务器 #PostgreSQL #MySQL

app archivista

一款用于快速备份系统数据库的命令行应用程序

1 个不稳定版本

0.1.0 2023年11月30日

#2079 in 数据库接口

MIT 协议

25KB
272

Archivista 🚀

Build License: MIT Crates.io Crates.io

一款用于快速备份数据库的命令行应用程序。它支持单次操作导出多个数据库,异步运行且速度极快。每个操作完成后输出导出信息。已在中等至大型数据库上测试,没有出现任何问题。

特性

  • 单次操作导出所有数据库。
  • 支持 mysqlpostgressqlserver
  • 异步运行,且速度极快。
  • 从备份中排除某些数据库。
  • 以整洁、着色表格的形式打印导出的数据库列表。

用法

需求

sudo apt-get install libsqlite3-dev
  1. 设置以下环境变量

    • DB_CONNECTION:服务器类型。使用 mysqlpostgressqlserver
    • DB_HOST:服务器的主机名。
    • DB_PORT:服务器的端口号。
    • DB_USERNAME:连接到服务器时使用的用户名。
    • DB_PASSWORD:连接到服务器时使用的密码。
    • DB_EXPORTS:要备份的数据库的逗号分隔列表。使用 * 备份所有数据库。
    • DB_FORGETS:要排除备份的数据库的逗号分隔列表。
  2. 运行应用程序

    cargo run
    

依赖项

此实用程序依赖于以下Rust Crates

  • serde:用于反序列化数据库配置。版本:1.0,特性:["derive"]
  • tokio:用于编写可靠、异步、精简应用程序的运行时。版本:1,特性:["full"]
  • tokio-util:用于与Tokio一起工作的实用程序。版本:0.6,特性:["compat"]
  • tokio-postgres:原生的异步PostgreSQL驱动程序。版本:0.7
  • tiberius:用于Microsoft SQL Server的原生异步TDS实现。版本:0.5
  • rusqlite:Sqlite3绑定。版本:0.25.3
  • dotenv:从环境变量中加载数据库配置。版本:0.15.0
  • mysql:连接到MySQL服务器并检索数据库列表。版本:24.0.0
  • colored:为终端输出着色。版本:2.0.4
  • cli-table:以整洁表格的形式打印数据库列表。版本:0.4.7
  • zip:读取和写入 ZIP 归档。版本:0.5
  • futures:Rust 中的零成本 future。版本:0.3

贡献

欢迎贡献!请提交 pull request 或在 GitHub 上创建 issue。

许可证

MIT 许可证 (MIT)。更多信息请见 许可证文件

依赖项

~23–39MB
~625K SLoC