使用可自定义的定期计划自动化数据库备份





0/5 (0投票)
一个 CLI,用于使用可自定义的定期计划自动化数据库备份。
引言
使用可自定义的周期性计划自动化数据库备份的 CLI。
特点
- 备份方案 - Synchly 使用“祖父-父-子”备份轮换方案(每日、每周、每月),该方案是完全可自定义的。
默认计划:7 个每日备份 + 8 个每周备份 + 6 个每月备份(最多,在给定时刻会有 21 个备份)。 - 灵活的计划 - 根据您的维护和开发计划安排每日备份,以便您随时间推移清晰了解您的数据库备份情况。
- 支持的数据库
- MySQL
- MongoDB
- 压缩 - Synchly 会压缩数据库备份以节省空间。
- 云存储集成 - 将本地备份同步到您选择的远程存储。
- 支持的远程存储
- Google Drive
- SFTP
- 状态通知** - 获取有关成功和失败备份的每日状态报告,通过 SMTP 按您期望的时间发送到指定的电子邮件。请查看下方的“用法”和“选项列表”。
必备组件
- node >=8
安装
Synchly CLI 以 NPM 包的形式分发。要使用它,请全局安装它,使用
npm install --global synchly
或使用 yarn
yarn global add synchly
Tab 自动完成
synchly 包包含一个有用的 Tab 自动完成功能。该功能在安装包后会自动安装。但是,安装包后您可能需要重启控制台才能使自动完成功能正常工作。
如果您使用 Bash,它将在 ~/.synchly/completion.sh 创建一个文件,并将加载器代码附加到 ~/.bash_profile 文件。
如果您使用 Zsh,它会将加载器代码附加到 ~/.zshrc 文件。
如果您使用 Fish,它会将加载器代码附加到 ~/.config/fish/config.fish 文件。
用法
$ synchly [--config module]
$ synchly [--disable module]
$ synchly [--enable module] [--stacktrace]
$ synchly [--help]
$ synchly [--reset]
$ synchly [--start]
$ synchly [--version]
快速设置
可以使用 `--help` 标志运行 Synchly 以获取完整的标志列表。
开始的最快方法是运行命令
synchly --config=db
要启动 synchly,请使用命令
synchly --start
每次使用 cli
选项更改配置时,都必须重新启动 Synchly 实例。可以使用以下命令添加或更新模块(remote-sync
和 smtp
)的配置:
synchly --config=module
默认情况下,remote-sync
和 smtp
模块是禁用的,要启用它们,请使用命令。
synchly --enable=module
有关所有选项及其行为的完整列表,请参阅下方的“选项列表”。有关将 synchly 作为守护进程运行,请参阅下方的“作为守护进程运行”部分。
选项列表
选项 | 描述 |
-c, --config=module | 创建或更新模块配置。 |
-d, --disable=module | 禁用模块。 |
-D, --debug | 打印 CLI 操作的更多信息,用于调试目的。 |
-e, --enable=module | 启用模块。 |
-h, --help | 打印关于选项及其参数的 CLI 参考信息。 |
--reset | 重置所有已保存的配置。 |
-S, --stacktrace | 打印 CLI 操作错误信息的更多信息,用于调试目的。如果您发现错误,请在提交错误报告时提供使用 --stacktrace 标志生成的输出。 |
--start | 启动 synchly 实例,该实例将日志记录到 |
-v, --version | 显示版本信息并退出。 |
作为守护进程运行
Synchly 可以作为守护进程运行,init.d 和 systemd
单元文件已包含在 npm
包中,以方便实现此目的。如果使用 npm 安装,
init.d
$ npm install --global synchly
$ sudo cp /usr/local/lib/node_modules/synchly/bin/synchly.conf /etc/init
$ sudo start synchly
systemd
$ npm install --global synchly
$ cp /usr/local/lib/node_modules/synchly/bin/synchly.service ~/.config/systemd/user/
$ systemctl --user enable synchly
$ systemctl --user start synchly
如果单元文件不在 `/usr/local/lib/node_modules` 中,请使用 `npm root -g
` 获取全局安装根路径,并从那里复制单元文件。如果全局安装根路径与 `/usr/local/lib/node_modules` 不同,则 `synchly.service
` 单元文件中的 `WorkingDirectory
` 字段也需要更改。
如果使用 Yarn 安装
如果使用 yarn global 安装,服务 init 文件将位于
- `/usr/local/share/.config/yarn/global/node_modules/synchly/bin/` - 如果以 root 身份登录
- `~/.config/yarn/global/node_modules/synchly/bin` - 如果以非 root 用户登录
注意:每次使用 cli 选项更改配置时,请不要忘记重新启动守护进程。
示例
贡献
我很乐意得到您的帮助!如果您有新功能的想法或反馈,请通过在问题列表中创建问题来告知我。
许可证说明
版权所有 2020 Hariprasanth S
历史
- 2020 年 7 月 1 日:初始版本