maestral
Synchronize local files with Dropbox
TLDR
Start the GUI
Print current status of Maestral
Pause syncing
Resume syncing
Print sync status of a specific file or folder
SYNOPSIS
maestral [GLOBAL_OPTIONS] COMMAND [COMMAND_OPTIONS]
Common Commands:
maestral start
maestral stop
maestral gui
maestral status
maestral config
maestral exclude add <pattern>
maestral sharelink <path>
PARAMETERS
-h, --help
Show help message and exit for the command or subcommand.
-v, --version
Show Maestral's program version number and exit.
-c CONFIG_NAME, --config CONFIG_NAME
Run Maestral with a specific configuration profile (useful for managing multiple Dropbox accounts).
-l LOG_LEVEL, --log-level LOG_LEVEL
Set the logging verbosity level (e.g., INFO, DEBUG, WARNING, ERROR).
--log-file LOG_FILE
Specify the path for the log file to which Maestral's output will be written.
--no-daemon
Prevent the command from starting a background daemon process. Useful for one-shot CLI operations.
--force-gui
Force the graphical user interface to open, even if a Maestral daemon is already running.
Command-specific options
Most Maestral subcommands (e.g., config, exclude, sharelink) have their own specific options and arguments. These can be viewed by appending --help to the subcommand (e.g., maestral config --help).
DESCRIPTION
Maestral is a light-weight, open-source Dropbox client written in Python, designed as an alternative to the official Dropbox application for Linux and macOS. It leverages the Dropbox API v2 to provide seamless file synchronization. Maestral offers both a command-line interface (CLI) for headless servers and scripting, and an optional graphical user interface (GUI) for desktop users. Its key features include selective sync, public folder emulation, share link creation, and comprehensive activity logging, all while aiming for minimal resource consumption compared to the official client. It allows users to manage their Dropbox account, exclude specific folders from synchronization, and monitor sync status directly from the terminal or a system tray icon.
CAVEATS
Maestral is an unofficial third-party client and does not support all features of the official Dropbox application (e.g., LAN sync, camera uploads, or certain advanced sharing features like smart sync). It relies on the Dropbox API v2, and its functionality is subject to API changes. Initial setup requires linking with your Dropbox account, which must be done via a web browser. Users should be aware that it might not always keep pace with the absolute latest Dropbox features due to its independent development cycle. It requires Python 3.8+ to run.
INSTALLATION
Maestral is primarily installed via Python's package manager, pip, or through distribution-specific repositories like AUR (Arch Linux) or Snap for Ubuntu. For example:
pip install maestral
or
snap install maestral
It is generally recommended to install Maestral in a Python virtual environment to avoid potential conflicts with system-wide Python packages.
USAGE MODES
Maestral operates with a persistent background daemon that handles all file synchronization processes. Both the command-line interface (CLI) and the optional graphical user interface (GUI) clients interact with this daemon. The maestral start command initiates the daemon, while maestral gui launches the graphical interface if the daemon is running. Most CLI commands like status, exclude, or sharelink communicate with the running daemon to perform their operations, making it a powerful tool for both interactive desktop and headless server environments.
HISTORY
Maestral was created by Sam Schott as an open-source alternative to the official Dropbox client, specifically targeting Linux and macOS users who desired a lighter-weight, less resource-intensive solution with greater control. Development began around 2018-2019, driven by concerns over the official client's resource usage, lack of native ARM support, and limitations on Linux (e.g., dropping support for certain file systems like Ext4). It quickly gained traction among users looking for a more "Unix-like" approach to cloud synchronization, offering both a comprehensive CLI and a GUI built on standard toolkits.
SEE ALSO
dropbox, rclone(1), insync