LinuxCommandLibrary

maestral

Synchronize local files with Dropbox

TLDR

Start the GUI

$ maestral gui
copy

Print current status of Maestral
$ maestral status
copy

Pause syncing
$ maestral pause
copy

Resume syncing
$ maestral resume
copy

Print sync status of a specific file or folder
$ maestral filestatus [path/to/file_or_directory]
copy

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

Copied to clipboard