10 个版本 (1 个稳定版)
1.0.0 | 2024 年 6 月 13 日 |
---|---|
0.9.0 | 2024 年 6 月 13 日 |
0.8.0 | 2024 年 6 月 13 日 |
在 文件系统 中排名 #570
每月下载量:31 次
26KB
583 行代码(不包括注释)
Forge Backup
forge_backup
是一个用于 Linux 服务器的备份应用程序。我为 Laravel Forge 服务器开发了此程序,但它可以与任何 Linux 服务器一起使用。它将每个用户的家目录备份到一个临时文件夹中,然后将该文件夹上传到 AWS S3 存储桶,并在完成后删除临时文件。它还会使用 Mailgun API 报告任何失败(或配置成功)。
要求
- Rust 1.74 或更高版本
libssl-dev
(基于 Debian 的系统)或openssl-devel
(Amazon Linux)zip
aws-cli
- 配置 AWS CLI 并设置访问密钥(
aws configure
)
Rust 工具链
要安装 Rust 工具链,请运行以下命令
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
安装
要安装 forge_backup
,请确保您已安装 Rust 工具链,然后运行
cargo install forge_backup
用法
要使用 forge_backup
,请运行以下命令
forge_backup [OPTIONS]
选项
- --temp-folder <TEMP_FOLDER>: 指定创建临时存档的位置。
- --s3-bucket <S3_BUCKET>: 指定用于备份的 S3 存储桶。
- --s3-folder <S3_FOLDER>: 指定 S3 存储桶中的文件夹。
- --home-dir <HOME_DIR>: 指定要备份的家目录(默认:/home)。
- --notify-success <NOTIFY_SUCCESS>: 成功时通知(可能的值:true, false)。
- --alert-email <ALERT_EMAIL>: 在失败时发送警告的电子邮件。
- --exclude-users <EXCLUDE_USERS>: 从备份中排除的用户。
- --hostname : 指定主机名。
- -h, --help: 打印帮助信息。
- -V, --version: 打印版本信息。
示例
forge_backup --s3-bucket my-backup-bucket --s3-folder daily-backups --notify-success true --alert-email [email protected]
配置
您可以在 ~/.config/forge-backup/forge_backup.toml
创建一个配置文件。命令行参数将覆盖配置文件中的值。以下是配置文件的模板。
exclude_users = []
exclude_files = [
"**/ai1m-backups/*",
"**/node_modules/*",
"**/.cache/*",
"**/.npm/*",
"**/vendor/*",
]
temp_folder = "~/tmp/backups"
home_dir = "/home"
hostname = "{$HOSTNAME}"
s3_bucket = ""
s3_folder = "daily"
alert_email = ""
notify_on_success = false
mailgun_api_base = ""
mailgun_api_key = ""
mailgun_domain = ""
sender_email = ""
环境变量
您可以在配置文件中使用环境变量,如下所示
hostname = "{$HOSTNAME}"
贡献指南
我们欢迎贡献。请遵循以下指南
- 从仓库中 Fork 并克隆您的 Fork。
- 为您的功能或错误修复创建新分支。
- 进行更改并进行彻底测试。
- 使用清晰和描述性的提交信息提交您的更改。
- 将您的分支推送到您的fork。
- 打开一个拉取请求并描述您的更改。
许可证
本项目采用MIT许可证。
问题和功能请求
如果您遇到任何问题或有任何功能请求,请在我们GitHub问题页面上提交。
联系方式
对于任何问题或支持,请随时通过GitHub联系。
感谢您使用 forge_backup
!
依赖项
~11-44MB
~738K SLoC