API Referenece

RcloneInterface.rclone_checkMethod
rclone_check(src::AbstractString, dest::AbstractString; kwargs...)

Verify that files in source and destination match (size + hash by default).

Returns the raw output (useful for parsing mismatch reports).

Arguments

  • src, dest: paths to compare

Keyword arguments

  • size_only::Bool = false → skip hash check
  • download::Bool = false → download and compare byte-by-byte
  • one_way::Bool = false → only check that source files exist in dest
  • checkfile::Union{Nothing,String} = nothing → treat src as SUM file

Logging/reporting (like sync)

  • combined, differ, missing_on_dst, missing_on_src, error_log

Filtering & verbosity

  • exclude, include, verbose, etc.

Example

output = rclone_check("local:/data", "s3:backup", size_only=true, verbose=1)
println(output)
source
RcloneInterface.rclone_copyMethod
rclone_copy(src::AbstractString, dest::AbstractString; kwargs...)

Copy files from src to dest using rclone copy.

Arguments

  • src: Source path (e.g., "local:/path" or "remote:bucket/dir")
  • dest: Destination path

Keyword arguments (common flags)

  • dry_run::Bool = false: Do a trial run without copying (--dry-run)
  • verbose::Int = 0: Verbosity level (-v, -vv, etc.)
  • checksum::Bool = false: Use checksum + size to detect changes (-c)
  • update::Bool = false: Skip files newer on destination (-u)
  • ignore_existing::Bool = false: Skip files that already exist
  • max_age::Union{Nothing, String} = nothing: Only copy files younger than this (e.g., "24h")
  • exclude::Vector{String} = String[]: Patterns to exclude
  • include::Vector{String} = String[]: Patterns to include
  • metadata::Bool = false: Preserve metadata (-M)
  • progress::Bool = false: Show progress (-P)
  • extra_flags::Vector{String} = String[]: Additional raw flags

Example

rclone_copy("mylocal:/data", "gdrive:backup", dry_run=true, verbose=1)
source
RcloneInterface.rclone_dedupeMethod
rclone_dedupe(path::AbstractString; kwargs...)

Find and resolve duplicate files (by name or hash).

⚠️ Can delete or rename files. Use dry_run=true first!

Arguments

  • path: remote path to dedupe

Keyword arguments

  • by_hash::Bool = false → dedupe by content hash instead of name
  • dedupe_mode::String = "interactive""skip", "first", "newest", "rename", etc.
  • size_only::Bool = false → use size only (for backends without hash)
  • dry_run::Bool = false
  • interactive::Bool = false
  • verbose::Int = 0

Example

rclone_dedupe("gdrive:photos", dedupe_mode="rename", dry_run=true)
rclone_dedupe("crypt:backups", by_hash=true, dedupe_mode="largest")
source
RcloneInterface.rclone_deleteMethod
rclone_delete(path::AbstractString; kwargs...)

Delete files in the given path, respecting filters. Does not delete directories unless rmdirs=true is used.

⚠️ Warning: This permanently deletes data. Always test with dry_run=true.

Arguments

  • path: Remote or local path to delete from

Keyword arguments

  • dry_run::Bool = false
  • interactive::Bool = false
  • rmdirs::Bool = false → also remove empty directories
  • verbose::Int = 0

Filtering (same as other commands)

  • exclude, include, max_age, min_size, etc.

Example

rclone_delete("gdrive:temp", dry_run=true, max_size="1G")
rclone_delete("s3:bucket/logs", rmdirs=true, min_age="7d")
source
RcloneInterface.rclone_exeMethod
rclone_exe(args::AbstractString...; collect = true)

Execute rclone with the given arguments. Returns stdout/stderr as a string if collect=true (default).

source
RcloneInterface.rclone_helpMethod
rclone_help(; topic::Union{Nothing, String} = nothing)

Show general help or help for a specific command/topic.

Returns help text as a string.

Arguments

  • topic: e.g., "sync", "mount", or a backend name like "s3"

Example

general = rclone_help()
sync_help = rclone_help(topic="sync")
source
RcloneInterface.rclone_lsMethod
rclone_ls(path::AbstractString; kwargs...)

List files in the given path with size and path (like rclone ls).

Returns a string with one line per file: <size> <path>

Arguments

  • path: Remote or local path to list

Keyword arguments

  • max_depth::Int = -1--max-depth N (default: recurse fully)
  • recursive::Bool = true → controls recursion (note: ls recurses by default)
  • exclude::Vector{String} = String[]
  • include::Vector{String} = String[]
  • max_age, min_age, max_size, min_size
  • files_only::Bool = true (default behavior)
  • dirs_only::Bool = false
  • fast_list::Bool = false--fast-list
  • verbose::Int = 0
  • extra_flags::Vector{String} = String[]

Note: rclone ls recurses by default. Use max_depth=1 to list only top level.

```

source
RcloneInterface.rclone_moveMethod
rclone_move(src::AbstractString, dest::AbstractString; kwargs...)

Move files from source to destination. After a successful move, files are deleted from the source.

⚠️ Warning: This can cause data loss. Always test with dry_run=true.

Arguments

  • src: Source path
  • dest: Destination path

Keyword arguments

Safety & testing

  • dry_run::Bool = false
  • interactive::Bool = false

Behavior

  • checksum::Bool = false
  • update::Bool = false
  • ignore_existing::Bool = false
  • size_only::Bool = false
  • ignore_times::Bool = false
  • metadata::Bool = false

Source cleanup

  • delete_empty_src_dirs::Bool = false--delete-empty-src-dirs
  • create_empty_src_dirs::Bool = false--create-empty-src-dirs

Filtering

  • max_age, min_age, max_size, min_size
  • exclude::Vector{String} = String[]
  • include::Vector{String} = String[]
  • no_traverse::Bool = false

Output & control

  • verbose::Int = 0
  • progress::Bool = false
  • extra_flags::Vector{String} = String[]

Example

rclone_move("local:/tmp/old", "archive:old", dry_run=true)
rclone_move("s3:bucket/temp", "gcs:archive", delete_empty_src_dirs=true, checksum=true)
source
RcloneInterface.rclone_sizeMethod
rclone_size(path::AbstractString; kwargs...)

Print the total size and number of objects in path.

Returns a string with human-readable summary (e.g., "Total objects: 123, Total size: 4.5 GiB").

Keyword arguments

  • max_depth::Int = -1 → limit recursion depth
  • exclude::Vector{String} = String[]
  • include::Vector{String} = String[]
  • max_age, min_age, max_size, min_size
  • fast_list::Bool = false
  • json::Bool = false → return JSON-formatted output instead
  • extra_flags::Vector{String} = String[]

Example

summary = rclone_size("gdrive:photos")
json_out = rclone_size("s3:bucket", json=true)
source
RcloneInterface.rclone_syncMethod
rclone_sync(src::AbstractString, dest::AbstractString; kwargs...)

Synchronize the source to the destination, making the destination identical to the source. This may delete files in the destination that are not present in the source.

⚠️ Warning: This command can cause data loss. Always test with dry_run=true.

Arguments

  • src: Source path (e.g., "local:/data" or "remote:bucket/dir")
  • dest: Destination path

Keyword arguments (common & sync-specific flags)

Safety & Testing

  • dry_run::Bool = false--dry-run
  • interactive::Bool = false--interactive (-i)

Core behavior

  • checksum::Bool = false-c, use checksum + size
  • update::Bool = false-u, skip files newer on destination
  • ignore_existing::Bool = false→ skip files that already exist
  • size_only::Bool = false → skip based on size only
  • ignore_times::Bool = false-I, transfer all unconditionally
  • metadata::Bool = false-M, preserve metadata

Deletion control

  • max_delete::Int = -1--max-delete N (default: unlimited)
  • delete_excluded::Bool = false--delete-excluded
  • ignore_errors::Bool = false → delete even if I/O errors occur

Performance & filtering

  • no_traverse::Bool = false--no-traverse
  • max_age::Union{Nothing,String} = nothing
  • min_age::Union{Nothing,String} = nothing
  • max_size::Union{Nothing,String} = nothing
  • min_size::Union{Nothing,String} = nothing
  • exclude::Vector{String} = String[]
  • include::Vector{String} = String[]

Logging & reporting (output to file or stdout)

  • combined::Union{Nothing,String} = nothing--combined FILE
  • differ::Union{Nothing,String} = nothing--differ FILE
  • missing_on_dst::Union{Nothing,String} = nothing
  • missing_on_src::Union{Nothing,String} = nothing
  • error_log::Union{Nothing,String} = nothing--error FILE

Other

  • verbose::Int = 0-v, -vv, etc.
  • progress::Bool = false-P
  • create_empty_src_dirs::Bool = false
  • track_renames::Bool = false → enable rename detection
  • extra_flags::Vector{String} = String[]

Example

rclone_sync("local:/photos", "gdrive:backup/photos", dry_run=true, verbose=1)
rclone_sync("s3:mybucket", "b2:archive", max_delete=100, checksum=true)
source
RcloneInterface.rclone_treeMethod
rclone_tree(path::AbstractString; kwargs...)

Print a directory tree of the remote path.

Returns a string showing the hierarchical structure.

Keyword arguments

  • max_depth::Int = -1
  • dirs_only::Bool = false
  • files_only::Bool = false
  • exclude, include, max_age, etc. (same as other commands)
  • extra_flags::Vector{String} = String[]

Example

tree = rclone_tree("dropbox:projects", max_depth=2)
println(tree)
source
RcloneInterface.rclone_versionMethod
rclone_version(; check::Bool = false, deps::Bool = false)

Return the rclone version info as a string.

Keyword arguments

  • check::Bool = false → compare with latest release/beta online
  • deps::Bool = false → show Go dependencies

Example

println(rclone_version())
println(rclone_version(check=true))
source