vanegmondgroep / backup-cli
一个可扩展的命令行界面,用于使用 Restic 备份和恢复数据。
v1.0.0
2023-05-23 14:21 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