## dbackup 备份数据库服务 ## 配置 配置使用TOML格式,示例如下: ```toml [[PGConfig]] pg_home = "C:/Program Files/PostgreSQL/10/bin" # pg 安装目录 host = "127.0.0.1" port = 5432 db = ["test", "postgres"] username = "abby" password = "abby" destination = "D:/backup" keep = 3 cron = "*/1 * * * *" # 每分钟运行 options = ["-Fc", "--no-owner"] [[PGConfig]] host = "127.0.0.1" port = 5433 db = ["db1", "db2"] username = "admin" password = "admin" destination = "/data/backup" keep = 10 cron = "* 1 * * *" # 每天1点0分0秒运行 options = ["--inserts"] ``` 配置中`keep`表示保留最近 N 小时, `cron`表示何时执行备份任务,5个`*` 分别表示: 分, 时, 本月第几天,月,本周第几天,举例如下: - `*/1 * * * *` 每1分钟执行 - `0 */1 * * *` 每小1时执行 - `0 0 */1 * * ` 每月1号执行 - `23 2 1 * *` 每月1号2时23分执行 更多参考 [这里](https://godoc.org/github.com/robfig/cron) ## 用法 1, Windows/Linux下直接运行 2, 可选择安装为服务 `./dbackup -service install` (Linux下以root用户运行) 可用参数有 `-service start`, `-service stop`, `-service restart`, `-service install`, `-service uninstall` 程序会读取程序所在目录下的`conf.toml`配置,并在当前目录下创建`log`目录用于记录日志 ## 注意 1, 如果可以找到`pg_dump`那们配置中的`pg_home`可以设置为空(即pg_home = "") 2, 程序只会使用必要的参数用于连接数据库,额外的参数可以通过`options`传递 3, 输出备份文件名为 `db_yyyymmdd-HHMMSS.dump` 且不可配置,存放位置为 `destination/db/db_yyyymmdd-HHMMSS.dump` ## 示例 每分钟备份一次,保留最近3分钟的备份 