Google Drive Backup
Vinza Store Google Drive Backup
Google Drive Backup
Premium Backup
googledrivebackuprestorecloudstorage
Get this app
Free with Profesional & Enterprise · See plans
$29.00
One-time — permanent license, 1 server.
Rp 435.000 charged
$2.99/mo
Cancel anytime.
Rp 45.000/mo charged

This plugin connects a panel user's own Google Drive account (OAuth authorization code with PKCE; the refresh token is encrypted before it is stored in the panel database and can be revoked from the page) and uses it as an off-site destination for panel backups. Each user connects their own Drive, either through a shared Google app configured by an admin or through their own personal app credentials. With the drive.file scope the plugin only ever sees files it created, all inside a "VinzaPanel Backups" folder.

The page has five views. Overview shows the account, storage quota, how many files and bytes the VinzaPanel folder holds, the last successful and last failed upload, active Drive schedules with their next run, and transfers in progress. Backups lists the panel's backups (searchable, paginated) and queues one or several for upload. Schedules creates, pauses, runs and deletes automatic backups whose copies go to Drive, with separate retention on the server and on Drive, using the panel's own backup schedules and ownership rules. Drive Files browses the folder tree with breadcrumbs, name search and paging, moves files to the Drive trash, and restores a file to the server. Activity lists uploads and restores with status, size, time and error, with Retry for failed uploads.

Uploads and restores run on the server as detached background jobs, never inside a web request, so multi-gigabyte archives are fine and you can leave the page; a progress bar shows percent, speed and time left while one runs. An upload reads the archive as its owner's Linux user, sends it in 8 MiB resumable chunks while computing its MD5, and compares that with the MD5 Drive reports for the stored file; a mismatch fails the upload and removes the bad copy, a match is shown as "verified". A restore downloads into a hidden temporary file AS THE DESTINATION OWNER, checks the MD5, and only then links the file into place under a name that never overwrites an existing file. Website owners may restore only into their own website folders or their own backups folder; admins may choose any folder. A panel archive restored into the owner's backups folder is also registered as a regular backup, so it appears on the Backups page (download, delete, upload again) — the file is not extracted or applied to the site automatically.

Options per user: archives can be encrypted on the server before upload (AES-256-GCM, chunked, with a passphrase stored encrypted in the panel; Drive only ever sees ciphertext, stored as .enc). A restore decrypts automatically with the user's key — older keys are kept after a passphrase change. Losing the passphrase (or the panel and its database) means losing access to those backups. Uploads can go to a Google shared drive instead of My Drive, and can be capped to a bandwidth limit in MB/s.

Requirements and limits: the Google Python client libraries (google-api-python-client, google-auth, google-auth-oauthlib, google-auth-httplib2) must be installed in the panel environment (the installer does this; installation fails with a clear message otherwise). Uploading from this page needs a licence that includes off-site backup; restoring does not. Uploads are processed one at a time server-wide; at most two restores run per user at once. A finished restore is picked up the next time its owner opens the page.

Availability: Included at no extra cost with the Profesional and Enterprise plans. On the Free and Starter plans it is available per server as a monthly subscription ($2.99/month) or a one-time purchase ($29).

Min Panel Version
1.0.0
Platform
Ubuntu 20.04+ / 22.04+ / 24.04+
License
Paid license required
VinzaPanel handles installation automatically via the Vinza Store. Make sure the panel agent has internet access to download dependencies.
1.3.7 — Your backup options (Setup tab): encrypt archives before upload with AES-256-GCM (passphrase kept encrypted in the panel; restores decrypt automatically and check every chunk; changing the passphrase keeps the old one for older backups; a clear warning that a lost passphrase means lost backups); send uploads to a Google shared drive instead of My Drive (pick it from the list, or paste its id when the connection may not list shared drives) — uploads, the file browser, deletes, pruning and restores all work in shared drives; and an upload bandwidth limit (MB/s). 1.3.6 — A failed scheduled upload to Google Drive raises an alert (the owner's bell for a tenant schedule; the admin's bell and alert channels for an admin schedule), once per failing schedule and at most daily until an upload succeeds. 1.3.5 — Accounts on a Vinza Server node: single-file uploads read the file on its node; restoring into a node account is refused with a clear message instead of writing to the panel host. 1.3.4 — upload_file_path (WordPress Manager database export) works for files in a tenant's home: read as their owner through the agent into a private staging copy (was "File not found on server"). New is_configured() check. 1.3.3 — Schedules can be edited: a pencil button opens the schedule with its frequency, day of the week (weekly), hour, retention on the server and on Drive, and the new "Keep a local copy" option; the source stays fixed. New schedules get the day-of-week and keep-local options too. Editing needs VinzaPanel 1.3.39 or later. 1.3.2 — Every list on the page shows 15 rows per page (Backups, Schedules, Drive Files, Restores, Uploads). New filters: Backups by source type and Drive status (not on Drive, uploading, uploaded, failed); Schedules by name, source type and state (active, paused, last run failed); Uploads by status. Backup filters need VinzaPanel 1.3.37 or later; on older panels the lists still page by 15 but those filters are ignored. 1.3.1 — "New schedule" sits next to "Manage" on the Overview; the schedule dialog offers every backup type you may use (Website and DB, Only Website, Only Database, Custom Folder, and User Directory for administrators) as tiles, and each fills its source list (websites with their linked databases, databases, users). Empty states get proper spacing. 1.3.0 — A full Google Drive console: Overview (account, quota, folder size and file count, last upload / last failure, Drive schedules, transfers in progress), Schedules (automatic backups to Drive with server and Drive retention, run now, pause, delete), Backups with search, paging and "Upload selected", a Drive Files browser (folders, breadcrumbs, search, paging, move to trash) and an Activity history with Retry. Uploads are now verified: the archive's MD5 is computed while it is sent and must match Drive's checksum (mismatch = failed upload, corrupt copy removed; match = "verified" badge). Restore no longer runs inside the panel (it failed for every site in a home directory and timed out on big archives): it is a background job that writes as the destination owner, checks the MD5, never overwrites a file, and registers panel archives restored into your backups folder on the Backups page. Live progress (percent, speed, time left) for uploads and restores; Drive deletions now go to the Drive trash. 1.2.2 — Upload to Drive works for every backup: the archive is queued and uploaded in the background by a job that reads it as its owner (the page used to say "File not found on server" because the panel cannot read into a home directory, and large archives would have timed out). The list shows Queued / Uploading / On Drive / Failed with Retry. 1.1.0 — Restore: download a Drive file back to a folder on the server (streamed + atomically written; website owners restore into their own docroots only, admins anywhere). Corrected the metadata to match the code: dropped the 'scheduled backup', 'database dump' and 'retention policy' claims (not implemented yet). 1.0.0 — Initial release: per-user Google OAuth (PKCE) with encrypted token storage, upload backups and arbitrary server files to a panel Drive folder, list and delete Drive files, quota display.

Use VinzaPanel's REST API to download and install this app programmatically.

Download app files
HTTP
POST /plugins/api/download/google-drive-backup/
Content-Type: application/json

{
  "panel_version": "1.0.0"
}
Example response
JSON
{
  "success": true,
  "plugin_id": "google-drive-backup",
  "version": "1.3.7",
  "download_url": "..."
}