{"id":23041099,"url":"https://github.com/u1035/vbox-vm-backup","last_synced_at":"2025-08-21T09:04:25.833Z","repository":{"id":116358329,"uuid":"174798310","full_name":"u1035/vbox-vm-backup","owner":"u1035","description":"Command line utility to make backups of Oracle VirtualBox virtual machines","archived":false,"fork":false,"pushed_at":"2019-03-19T18:36:25.000Z","size":307,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-04T13:49:57.234Z","etag":null,"topics":["backup","command-line-tool","csharp","virtualbox"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/u1035.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}},"created_at":"2019-03-10T08:43:49.000Z","updated_at":"2025-04-27T12:24:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"0e77db8f-53b4-4ab6-8832-855348b7c3b3","html_url":"https://github.com/u1035/vbox-vm-backup","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/u1035/vbox-vm-backup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/u1035%2Fvbox-vm-backup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/u1035%2Fvbox-vm-backup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/u1035%2Fvbox-vm-backup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/u1035%2Fvbox-vm-backup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/u1035","download_url":"https://codeload.github.com/u1035/vbox-vm-backup/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/u1035%2Fvbox-vm-backup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271454819,"owners_count":24762698,"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","status":"online","status_checked_at":"2025-08-21T02:00:08.990Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["backup","command-line-tool","csharp","virtualbox"],"created_at":"2024-12-15T19:29:15.587Z","updated_at":"2025-08-21T09:04:25.815Z","avatar_url":"https://github.com/u1035.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vbox-vm-backup\n\nCommand line utility to make backups of Oracle VirtualBox virtual machines\n\n![Program screenshot](screenshot.png)\n\n## Requirements\nWindows, .NET Framework 4.5\n\n## Download\n\nCurrent version - 0.2-alpha, [can be dowloaded here.](https://github.com/u1035/vbox-vm-backup/releases/tag/0.2-alpha) Be careful - may contain bugs)\n\n## How it works\n\nIt sends shutdown signal to VM (emulating pressing ACPI power button), waits for it's correct shutdown, compresses *.vdi dynamic disk images if necessary, and copies all VM files to specified folder and then starts VM back. Then waits some time for VM starts, and proceeding to the next VM.\nProgram processes virtual machines sequentally, one by one, to decrease overall downtime and disk load.\n\nThis utility is designed to be started manually or by Windows Task Scheduler (you should make a task manually), makes a log file of it's work (**vbox-vm-backup.log** in program folder) and uses XML config file (**settings.xml** in program folder).\n\n## Installation\n\nJust copy **vbox-vm-backup.exe** and your **settings.xml** to any folder on your disk and add a task to run executable in Windows Task Manager.\n\n## Settings\n\nExample settings.xml included in release package and rather intuitive:\n\n```XML\n\u003c?xml version=\"1.0\"?\u003e\n\u003cArrayOfVMInfo xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"\u003e\n  \u003cVMInfo\u003e\n    \u003cVMName\u003eXMPPServer\u003c/VMName\u003e\n    \u003cSourcePath\u003eC:\\Users\\user\\Desktop\\VMs\\XMPPServer\\\u003c/SourcePath\u003e\n    \u003cDestPath\u003eD:\\\u003c/DestPath\u003e\n    \u003cNumberOfCopies\u003e7\u003c/NumberOfCopies\u003e\n    \u003cWaitVMToStart\u003e30000\u003c/WaitVMToStart\u003e\n    \u003cVBoxInstallPath\u003eC:\\Program Files\\Oracle\\VirtualBox\\\u003c/VBoxInstallPath\u003e\n    \u003cCompressVDI\u003e1\u003c/CompressVDI\u003e\n  \u003c/VMInfo\u003e\n  \u003cVMInfo\u003e\n    \u003cVMName\u003eWebServer\u003c/VMName\u003e\n    \u003cSourcePath\u003eC:\\Users\\user\\Desktop\\VMs\\WebServer\\\u003c/SourcePath\u003e\n    \u003cDestPath\u003eD:\\\u003c/DestPath\u003e\n    \u003cNumberOfCopies\u003e7\u003c/NumberOfCopies\u003e\n    \u003cWaitVMToStart\u003e30000\u003c/WaitVMToStart\u003e\n    \u003cVBoxInstallPath\u003eC:\\Program Files\\Oracle\\VirtualBox\\\u003c/VBoxInstallPath\u003e\n    \u003cCompressVDI\u003e1\u003c/CompressVDI\u003e\n  \u003c/VMInfo\u003e\n    \u003cVMInfo\u003e\n    \u003cVMName\u003eMini Windows XP\u003c/VMName\u003e\n    \u003cSourcePath\u003eC:\\Users\\user\\Desktop\\VMs\\Mini Windows XP\u003c/SourcePath\u003e\n    \u003cDestPath\u003eD:\\\u003c/DestPath\u003e\n    \u003cNumberOfCopies\u003e7\u003c/NumberOfCopies\u003e\n    \u003cWaitVMToStart\u003e30000\u003c/WaitVMToStart\u003e\n    \u003cVBoxInstallPath\u003eC:\\Program Files\\Oracle\\VirtualBox\\\u003c/VBoxInstallPath\u003e\n    \u003cCompressVDI\u003e1\u003c/CompressVDI\u003e\n  \u003c/VMInfo\u003e\n\u003c/ArrayOfVMInfo\u003e\n```\n\nThere are three example VMs - XMPPServer, WebServer and Mini Windows XP machine (these are VM names in VirtualBox Control Panel). You can also use VM UUID instead of name.\n\nSo program copies files from `C:\\Users\\user\\Desktop\\VMs\\XMPPServer` to `D:\\XMPPServer_Date-Time`\n\nWaits for 90 seconds (**WaitVMToStart**), allowing first VM to start.\n\nThen goes for next VM - `C:\\Users\\user\\Desktop\\VMs\\WebServer` to `D:\\WebServer_Date-Time`\n\nIf there are more copies of this VM, then **NumberOfCopies**, oldest copies are deleted.\n\n**VBoxInstallPath** is a path to VirtualBox executables (VBoxManage.exe and VirtualBoxVM.exe).\n**CompressVDI** controls compression of VM disk images, set to 1 to yes, 0 to skip.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fu1035%2Fvbox-vm-backup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fu1035%2Fvbox-vm-backup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fu1035%2Fvbox-vm-backup/lists"}