| import os |
| from huggingface_hub import HfApi |
| from datetime import datetime |
|
|
| def backup(): |
| token = os.environ.get('HF_TOKEN') |
| if not token: |
| print("❌ HF_TOKEN not found") |
| return |
|
|
| api = HfApi() |
| repo = os.environ.get('DATASET_NAME') |
| |
| print(f"🔄 [SYNC] Starting full backup at {datetime.now()}...") |
| |
| try: |
| api.upload_folder( |
| folder_path="/data", |
| repo_id=repo, |
| repo_type="dataset", |
| path_in_repo=".", |
| token=token, |
| |
| allow_patterns=[ |
| "Movies/**", |
| "Series/**", |
| "strm/**", |
| "last_id.txt", |
| "last_serie.txt", |
| "jellyfin/config/**", |
| "jellyfin/data/**" |
| ], |
| ignore_patterns=[ |
| "jellyfin/cache/**", |
| "jellyfin/logs/**", |
| "*.tmp" |
| ], |
| commit_message=f"Persistent backup: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}" |
| ) |
| print("✅ [SYNC] Backup completed successfully!") |
| except Exception as e: |
| print(f"⚠️ [SYNC] Error: {e}") |
|
|
| if __name__ == "__main__": |
| backup() |