https://github.com/hazelnutparadise/goback2onedrive
Auto backup files to Onedrive.
https://github.com/hazelnutparadise/goback2onedrive
backup docker-compose golang onedrive
Last synced: about 2 months ago
JSON representation
Auto backup files to Onedrive.
- Host: GitHub
- URL: https://github.com/hazelnutparadise/goback2onedrive
- Owner: HazelnutParadise
- License: mit
- Created: 2024-08-20T04:38:57.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-17T15:32:22.000Z (over 1 year ago)
- Last Synced: 2025-03-16T08:39:33.622Z (over 1 year ago)
- Topics: backup, docker-compose, golang, onedrive
- Language: Go
- Homepage:
- Size: 58.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GoBack2Onedrive: Auto backup files to Onedrive.
GoBack2Onedrive 是一個使用 Go 語言編寫的工具,能夠將指定的資料夾壓縮成ZIP文件後上傳到 OneDrive,並且可以根據配置自動清理舊的備份文件。該工具支持分塊上傳大文件,並且會在上傳過程中自動重試直到成功。此工具可以配置為在 Docker 容器中運行,並通過 Docker Compose 定期執行備份操作。
### 贊助我:[PayPal](https://www.paypal.me/tingzhen666)
## 功能特點
- 自動壓縮資料夾並上傳到 OneDrive。
- 支援分塊上傳大文件。
- 根據配置自動清理舊的備份文件。
- 上傳失敗自動重試直到成功。
- 上傳成功後自動清空本地的備份文件。
## 安裝
1. **克隆倉庫:**
```bash
git clone https://github.com/HazelnutParadise/GoBack2Onedrive.git
cd GoBack2Onedrive
```
2. **構建 Docker 映像:**
在項目根目錄下運行以下命令來構建 Docker 映像:
```bash
docker build -t goback2onedrive:latest .
```
3. **配置 Docker Compose:**
建立 `docker-compose.yml` 文件(內容可參考docker-compose-demo.yml),設置需要備份的資料夾路徑以及 OneDrive API 的相關環境變數。
## 使用
1. **環境變數設置:**
在 `docker-compose.yml` 文件中,設置以下環境變數:
- `CLIENT_ID`: 你的 OneDrive 應用程式的客戶端 ID。
- `CLIENT_SECRET`: 你的 OneDrive 應用程式的客戶端密鑰。
- `TENANT_ID`: 你的 OneDrive 租戶 ID。
- `DRIVE_ID`: 你的 OneDrive 驅動器 ID。
- `ONEDRIVE_DESTINATION_FOLDER`: 備份文件上傳到 OneDrive 的目標資料夾。
- `MAX_BACKUPS`: 要在 OneDrive 保留的最大備份數量。
2. **運行 Docker Compose:**
使用以下命令來運行容器並啟動備份任務:
```bash
docker-compose up -d
```
此命令將根據 `docker-compose.yml` 中的配置定期進行備份並上傳到 OneDrive。
3. **檢查日誌:**
如果需要查看容器的日誌,可以運行以下命令:
```bash
docker logs -f goback2onedrive-backup
```
4. **清理本地備份文件:**
程式會自動在成功上傳後清理 `/app/backups` 資料夾中的本地備份文件。
## 文件結構
- `GoBack2Onedrive.go`: 主程式文件,包含壓縮、上傳和清理備份的邏輯。
- `Dockerfile`: 定義了如何構建 GoBack2Onedrive 的 Docker 映像。
- `docker-compose.yml`: 用於配置和管理 Docker 容器的 Compose 文件。
## 貢獻
如果你有任何想法或問題,歡迎提交 issue 或 pull request。
## 許可證
這個專案使用 [MIT 許可證](LICENSE)。