A collection of POSIX-compatible shell scripts for uploading files and folders to Google Drive using the official API.
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.
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.
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.
Bash scripts to upload files to google drive
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
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.
Supports resuming interrupted uploads without starting over, which is crucial for handling large files or unstable networks, as highlighted in the key features.
Allows managing multiple Google accounts through a single configuration file, simplifying workflows for users with several accounts, as specified in the documentation.
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.
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.
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.
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.