vanegmondgroep/backup-cli

一个可扩展的命令行界面,用于使用 Restic 备份和恢复数据。

v1.0.0 2023-05-23 14:21 UTC

This package is auto-updated.

Last update: 2024-09-23 18:02:45 UTC


README

一个可扩展的命令行界面,用于使用 Restic 进行备份和恢复数据。

安装

在安装 Backup CLI 之前,请确保您的环境满足最低要求

确认要求后,使用 Composer 下载并安装 Backup CLI。

# Install Backup CLI package
composer require vanegmondgroep/backup-cli

默认情况下,命令是通过 vendor/bin/bcli 脚本来调用的。但是,您可能希望配置一个 shell 别名,以便更容易地执行命令,而不是反复输入 vendor/bin/bcli

alias bcli='[ -f bcli ] && sh bcli || sh vendor/bin/bcli'

为了确保它始终可用,您可以将其添加到您家目录中的 shell 配置文件中,例如 ~/.zshrc~/.bashrc,然后重新启动您的 shell。

命令

# Backup a service
bcli backup <service>

# Display service snapshots
bcli snapshots <service>

# Restore a service
bcli restore <service> <snapshot-id>

# Display backup logs
bcli logs <service>

配置

Backup CLI 从当前工作目录中的 .env 文件加载环境变量。以下变量是可用的

** 这定义了一个您想要备份的服务路径(例如 MYSQL_BACKUP_PATH)。

钩子

Backup CLI 在备份或恢复前后调用脚本(钩子)。这允许您在备份之前执行操作,例如导出数据库。以下钩子是可用的

日志

日志写入到 $BACKUP_LOGS_PATH/<service>.log

示例

以下 示例配置 展示了如何备份/恢复 MySQL 和 Node-RED 容器。

计划任务

要安排备份,请将以下行添加到您的 crontab

# Run MySQL backup every day at 01:00
0 1 * * * cd <project-dir> && vendor/bin/bcli backup mysql

# Run Node-RED backup every day at 02:00
0 2 * * * cd <project-dir> && vendor/bin/bcli backup node-red