Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Command-Line Apps
  3. google-drive-upload

google-drive-upload

MITShellv4.5

A collection of POSIX-compatible shell scripts for uploading files and folders to Google Drive using the official API.

Visit WebsiteGitHubGitHub
740 stars141 forks0 contributors

What is google-drive-upload?

Google Drive Upload is a collection of shell scripts that enable command-line interaction with Google Drive using the Google Drive API v3 and OAuth2.0. It provides a lightweight, scriptable alternative to the official web interface and desktop client for automated backup, file management, and synchronization tasks. The tool supports uploading or updating files and folders recursively, syncing local folders with Google Drive, resuming interrupted uploads, and sharing files with specific permissions.

Target Audience

System administrators, DevOps engineers, and developers who need to automate Google Drive operations from POSIX-compatible shell environments (e.g., sh, bash, zsh) without requiring root access or complex dependencies. It is also suitable for users managing backups or file synchronization across multiple machines or Google accounts.

Value Proposition

Developers choose Google Drive Upload for its minimalism, portability, and scriptability, offering a command-line alternative to GUI-based Google Drive clients. Its unique selling points include support for resumable uploads, background synchronization, multi-account configuration in a single file, and ease of installation without root access, making it ideal for automation and integration into shell workflows.

Overview

Bash scripts to upload files to google drive

Use Cases

Best For

  • Automating backup of local files or folders to Google Drive from a command-line interface.
  • Synchronizing local directories with Google Drive folders with options to overwrite or skip existing files.
  • Managing file uploads and updates across multiple Google accounts using a single configuration file.
  • Resuming large file uploads that were interrupted due to network issues or system failures.
  • Sharing uploaded files or folders programmatically with specific email addresses or public links.
  • Running background synchronization jobs for continuous file management without manual intervention.

Not Ideal For

  • Users requiring a graphical interface for file management, as it is strictly command-line based with no GUI support.
  • Projects needing real-time collaborative editing or in-browser file previews, since it focuses solely on upload and synchronization.
  • Environments without POSIX-compatible shells, such as native Windows setups without WSL or Cygwin.
  • Teams looking for advanced conflict resolution beyond simple overwrite or skip options, as it lacks bidirectional sync or merge capabilities.

Pros & Cons

Pros

Minimal and Portable

Runs on any POSIX-compatible shell without requiring root access, making it lightweight and easy to install per-user or globally, as emphasized in the README's philosophy.

Resumable Uploads

Supports resuming interrupted uploads without starting over, which is crucial for handling large files or unstable networks, as highlighted in the key features.

Multi-Account Configuration

Allows managing multiple Google accounts through a single configuration file, simplifying workflows for users with several accounts, as specified in the documentation.

Background Synchronization

Includes an additional sync script for running jobs in the background, enabling automated and continuous file management without manual intervention, as detailed in the usage section.

Cons

Shell and Dependency Reliance

Depends on a POSIX-compatible shell and likely external utilities like curl and jq, which may not be available in all environments, adding setup complexity and limiting portability.

Limited Feature Set

Lacks advanced features such as file versioning, bidirectional sync, or detailed conflict resolution, making it less suitable for complex file management compared to full desktop clients.

Manual OAuth Setup

Requires users to manually set up OAuth2.0 credentials with Google, which can be complex for non-technical users and involves ongoing security management for token refreshes.

Frequently Asked Questions

Quick Stats

Stars740
Forks141
Contributors0
Open Issues18
Last commit2 years ago
CreatedSince 2016

Tags

#hacktoberfest#hacktoberfest2021#bash-script#cli-tool#bash#file-upload#api-client#backup#posix-compatible#google-drive#shell-scripts#shell-script#synchronization

Built With

B
Bash

Links & Resources

Website

Included in

Command-Line Apps19.2k
Auto-fetched 4 hours ago

Related Projects

rclonerclone

"rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Azure Blob, Azure Files, Yandex Files

Stars58,665
Forks5,247
Last commit16 hours ago
croccroc

Easily and securely send things from one computer to another :crocodile: :package:

Stars38,133
Forks1,512
Last commit14 hours ago
ffsendffsend

:mailbox_with_mail: Easily and securely share files from the command line. A fully featured Firefox Send client.

Stars7,365
Forks206
Last commit8 months ago
sharingsharing

Sharing is a command-line tool to share directories and files from the CLI to iOS and Android devices without the need of an extra client app

Stars1,837
Forks74
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub