{"id":20851497,"url":"https://github.com/zly2006/x-backup","last_synced_at":"2025-05-12T04:32:08.668Z","repository":{"id":258576668,"uuid":"874171900","full_name":"zly2006/x-backup","owner":"zly2006","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-13T08:06:33.000Z","size":770,"stargazers_count":38,"open_issues_count":10,"forks_count":0,"subscribers_count":2,"default_branch":"stonecutter","last_synced_at":"2025-04-13T08:33:48.946Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://modrinth.com/mod/x-backup","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zly2006.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-17T11:25:30.000Z","updated_at":"2025-04-13T08:06:37.000Z","dependencies_parsed_at":"2024-11-02T12:21:29.333Z","dependency_job_id":"bf1945ee-cfb0-4cea-bf54-7507407729da","html_url":"https://github.com/zly2006/x-backup","commit_stats":null,"previous_names":["zly2006/x-backup"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zly2006%2Fx-backup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zly2006%2Fx-backup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zly2006%2Fx-backup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zly2006%2Fx-backup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zly2006","download_url":"https://codeload.github.com/zly2006/x-backup/tar.gz/refs/heads/stonecutter","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253675560,"owners_count":21945941,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-18T03:13:56.961Z","updated_at":"2025-05-12T04:32:08.653Z","avatar_url":"https://github.com/zly2006.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# X Backup\n\n[简体中文](https://github.com/zly2006/x-backup/blob/stonecutter/README_zh.md) | English\n\nThe advanced backup mod for fabric.\n\n## Advantages\n\n- ⚡️Lightning-Fast Speeds: Utilizes multithreading technology for rapid backup processes, completing tasks in a fraction of the time, **speeding up to 50 times faster**. [^1]\n- 💾Space-Efficient: Implements incremental backups and automatically compresses large files, minimizing storage usage.\n- 🔄Seamless Restoring: Automatically restarts the server after restoring, allowing for a seamless experience.\n- ✨Regional Restoring: Restore only the chunks within a specified range, **Players outside the range will not be affected**.\n- 🛡️Flexible Support: Designed to support both servers and clients, providing a versatile solution for all your backup needs.\n- ☁️Automatic Cloud Backup: Effortlessly back up your data to the cloud, with support for Microsoft OneDrive, ensuring your information is safe and accessible from anywhere.\n\n## Usage\n\n### Creating a Backup\n\nYou can use the `/xb create` command to create a new backup. This command saves the current state of the game so you can restore it later. If you want to add a note to the backup, you can add it after the command, for example:\n\n```\n/xb create This is my first backup\n```\n\nThis way, you create a backup with a note.\n\n### Viewing Created Backups\n\nIf you want to view the backups you have created, you can use the `/xb list` command. This command lists all the backups and displays the number, creation time, and note of each backup. For example:\n\n```\n/xb list\n```\n\nThis command displays the last 6 backups. If you have many backups, you can click the gray font button to view more backups.\n\n### Restoring a Backup\n\nIf you want to restore to a specific backup, you can use the `/xb restore \u003cid\u003e` command, where `\u003cid\u003e` is the number of the backup. For example:\n\n```\n/xb restore 1\n```\n\nThis command restores the game to the state of backup number 1. If you want to restore a specific range, you can use the `--chunk` parameter to specify the coordinates from which to which, for example:\n\n```\n/xb restore 1 --chunk 0 0 10 10\n```\n\n\u003e [!TIP]\n\u003e These are the x/z coordinates of the blocks, do not confuse them with chunk coordinates.\n\nThis will restore the game to backup 1, but only restore the area from block coordinates (0, 0) to (10, 10).\n### Scheduled Backup Configuration\n\nYou can set the automatic backup interval using the `/xb backup-interval \u003cseconds\u003e` command. For example, if you want to automatically back up every 3 hours, you can set it like this:\n\n```\n/xb backup-interval 10800\n```\n\nThis command sets the automatic backup interval to 10,800 seconds (i.e., 3 hours).\n\n### Mirror Server Configuration\n\nIf you are using a mirror server, you can use the `/mirror` command to synchronize the latest backup from the main server. For example:\n\nFirst, you need to create a backup on the main server:\n\n```\n/xb create\n```\n\nThen, in the mirror server configuration, set the main server's file path (the one containing `server.properties`) and `blob_path`, and enable mirror mode:\n\n```json\n{\n  \"mirror_mode\": true,   \n  \"mirror_from\": \"C:\\\\MinecraftServer\\\\My-Server\",\n  \"blob_path\": \"C:\\\\MinecraftServer\\\\My-Server\\\\blob\"\n}\n```\n\nAfter that, execute the `/mirror` command. This command will synchronize the latest backup state from the main server to the mirror server. You can also add the `id` parameter to specify the backup number to synchronize:\n\n```\n/mirror 1\n```\n\nIf you want to stop the server and restore the backup, you can use the `--stop` parameter:\n\n```\n/mirror --stop\n```\n\n### Cleaning Up Unnecessary Backups\n\nThe mod also provides an automatic cleanup feature for old backups. You can set the `keep_policy` in the configuration file, for example:\n\n```json\n{\n  \"prune\": {\n    \"enabled\": false,\n    \"keep_policy\": {\n      \"1d\": \"30m\",\n      \"1w\": \"6h\",\n      \"1M\": \"1d\",\n      \"1y\": \"1w\",\n      \"2y\": \"1M\"\n    }\n  }\n}\n```\n\nThis configuration means:\n- Keep backups every 30 minutes for the last 1 day\n- Keep backups every 6 hours for the last 1 week\n- Keep daily backups for the last 1 month\n- Keep weekly backups for the last 1 year\n- Keep monthly backups for the last 2 years\n\nYou can adjust these settings according to your needs.\n\nWhen `enabled` is `true`, the mod will automatically clean up backups that do not meet the retention policy. Alternatively, you can manually clean up unnecessary backups using the `/xb prune` command.\n\n### Viewing Backup Information\n\nIf you want to view detailed information about a specific backup, you can use the `/xb info \u003cid\u003e` command, for example:\n\n```\n/xb info 1\n```\n\nThis command will display detailed information about backup #1, including backup time, notes, size, etc.\n\n## Credits\n\nSome part (GUI) of this mod is based on BackupManager by CreeperHost LTD.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzly2006%2Fx-backup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzly2006%2Fx-backup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzly2006%2Fx-backup/lists"}