sidebar_label | sidebar_position | slug |
---|---|---|
Command Reference |
1 |
/command_reference |
There are many commands to help you manage your file system. This page provides a detailed reference for these commands.
If you run juicefs
by itself, it will print all available commands. In addition, you can add -h/--help
flag after each command to get more information of it, e.g., juicefs format -h
.
NAME:
juicefs - A POSIX file system built on Redis and object storage.
USAGE:
juicefs [global options] command [command options] [arguments...]
VERSION:
1.0.0-rc2+2022-06-24.fc6b1206
COMMANDS:
ADMIN:
format Format a volume
config Change configuration of a volume
destroy Destroy an existing volume
gc Garbage collector of objects in data storage
fsck Check consistency of a volume
dump Dump metadata into a JSON file
load Load metadata from a previously dumped JSON file
version Show version
INSPECTOR:
status Show status of a volume
stats Show real time performance statistics of JuiceFS
profile Show profiling of operations completed in JuiceFS
info Show internal information of a path or inode
SERVICE:
mount Mount a volume
umount Unmount a volume
gateway Start an S3-compatible gateway
webdav Start a WebDAV server
TOOL:
bench Run benchmarks on a path
objbench Run benchmarks on an object storage
warmup Build cache for target directories/files
rmr Remove directories recursively
sync Sync between two storages
GLOBAL OPTIONS:
--verbose, --debug, -v enable debug log (default: false)
--quiet, -q show warning and errors only (default: false)
--trace enable trace log (default: false)
--no-agent disable pprof (:6060) and gops (:6070) agent (default: false)
--pyroscope value pyroscope address
--no-color disable colors (default: false)
--help, -h show help (default: false)
--version, -V print version only (default: false)
COPYRIGHT:
Apache License 2.0
:::note
If juicefs
is not placed in your $PATH
, you should run the script with the path to the script. For example, if juicefs
is in current directory, you should use ./juicefs
. It is recommended to place juicefs
in your $PATH
for convenience. You can refer to Installation & Upgrade for more information.
:::
:::note
If the command option is of boolean type, such as --debug
, there is no need to set any value, just add --debug
to the command to enable the function; this function is disabled if --debug
is not added.
:::
:::note
This feature requires JuiceFS >= 0.15.2. It is implemented based on github.com/urfave/cli/v2
. You can find more information here.
:::
To enable commands completion, simply source the script provided within hack/autocomplete
. For example:
Bash:
source hack/autocomplete/bash_autocomplete
Zsh:
source hack/autocomplete/zsh_autocomplete
Please note the auto-completion is only enabled for the current session. If you want to apply it for all new sessions, add the source
command to .bashrc
or .zshrc
:
echo "source path/to/bash_autocomplete" >> ~/.bashrc
or
echo "source path/to/zsh_autocomplete" >> ~/.zshrc
Alternatively, if you are using bash on a Linux system, you may just copy the script to /etc/bash_completion.d
and rename it to juicefs
:
sudo cp hack/autocomplete/bash_autocomplete /etc/bash_completion.d/juicefs
source /etc/bash_completion.d/juicefs
Format a volume. It's the first step for initializing a new file system volume.
juicefs format [command options] META-URL NAME
- META-URL: Database URL for metadata storage, see "JuiceFS supported metadata engines" for details.
- NAME: the name of the file system
--block-size value
size of block in KiB (default: 4096)
--capacity value
the limit for space in GiB (default: unlimited)
--inodes value
the limit for number of inodes (default: unlimited)
--compress value
compression algorithm (lz4, zstd, none) (default: "none")
--shards value
store the blocks into N buckets by hash of key (default: 0)
--storage value
Object storage type (e.g. s3
, gcs
, oss
, cos
) (default: "file"
, please refer to documentation for all supported object storage types)
--bucket value
A bucket URL to store data (default: "$HOME/.juicefs/local"
or "/var/jfs"
)
--access-key value
Access Key for object storage (can also be set via the environment variable ACCESS_KEY
)
--secret-key value
Secret Key for object storage (can also be set via the environment variable SECRET_KEY
)
--session-token value
session token for object storage
--encrypt-rsa-key value
A path to RSA private key (PEM)
--trash-days value
number of days after which removed files will be permanently deleted (default: 1)
--force
overwrite existing format (default: false)
--no-update
don't update existing volume (default: false)
Mount a volume. The volume shoud be formatted first.
juicefs mount [command options] META-URL MOUNTPOINT
- META-URL: Database URL for metadata storage, see "JuiceFS supported metadata engines" for details.
- MOUNTPOINT: file system mount point, e.g.
/mnt/jfs
,Z:
.
--metrics value
address to export metrics (default: "127.0.0.1:9567")
--consul value
consul address to register (default: "127.0.0.1:8500")
--no-usage-report
do not send usage report (default: false)
-d, --background
run in background (default: false)
--no-syslog
disable syslog (default: false)
--log value
path of log file when running in background (default: $HOME/.juicefs/juicefs.log
or /var/log/juicefs.log
)
-o value
other FUSE options (see this document for more information)
--attr-cache value
attributes cache timeout in seconds (default: 1)
--entry-cache value
file entry cache timeout in seconds (default: 1)
--dir-entry-cache value
dir entry cache timeout in seconds (default: 1)
--enable-xattr
enable extended attributes (xattr) (default: false)
--bucket value
customized endpoint to access object storage
--get-timeout value
the max number of seconds to download an object (default: 60)
--put-timeout value
the max number of seconds to upload an object (default: 60)
--io-retries value
number of retries after network failure (default: 10)
--max-uploads value
number of connections to upload (default: 20)
--max-deletes value
number of threads to delete objects (default: 2)
--buffer-size value
total read/write buffering in MiB (default: 300)
--upload-limit value
bandwidth limit for upload in Mbps (default: 0)
--download-limit value
bandwidth limit for download in Mbps (default: 0)
--prefetch value
prefetch N blocks in parallel (default: 1)
--writeback
upload objects in background (default: false)
--cache-dir value
directory paths of local cache, use :
(Linux, macOS) or ;
(Windows) to separate multiple paths (default: "$HOME/.juicefs/cache"
or "/var/jfsCache"
)
--cache-size value
size of cached objects in MiB (default: 102400)
--free-space-ratio value
min free space (ratio) (default: 0.1)
--cache-partial-only
cache random/small read only (default: false)
--read-only
allow lookup/read operations only (default: false)
--open-cache value
open file cache timeout in seconds (0 means disable this feature) (default: 0)
--subdir value
mount a sub-directory as root (default: "")
Unmount a volume.
juicefs umount [command options] MOUNTPOINT
-f, --force
force unmount a busy mount point (default: false)
Start an S3-compatible gateway.
juicefs gateway [command options] META-URL ADDRESS
- META-URL: Database URL for metadata storage, see "JuiceFS supported metadata engines" for details.
- ADDRESS: S3 gateway address and listening port, for example:
localhost:9000
--bucket value
customized endpoint to access an object storage
--get-timeout value
the max number of seconds to download an object (default: 60)
--put-timeout value
the max number of seconds to upload an object (default: 60)
--io-retries value
number of retries after network failure (default: 10)
--max-uploads value
number of connections to upload (default: 20)
--max-deletes value
number of threads to delete objects (default: 2)
--buffer-size value
total read/write buffering in MiB (default: 300)
--upload-limit value
bandwidth limit for upload in Mbps (default: 0)
--download-limit value
bandwidth limit for download in Mbps (default: 0)
--prefetch value
prefetch N blocks in parallel (default: 1)
--writeback
upload objects in background (default: false)
--cache-dir value
directory paths of local cache, use :
(Linux, macOS) or ;
(Windows) to separate multiple paths (default: "$HOME/.juicefs/cache"
or /var/jfsCache
)
--cache-size value
size of cached objects in MiB (default: 102400)
--free-space-ratio value
min free space (ratio) (default: 0.1)
--cache-partial-only
cache random/small read only (default: false)
--read-only
allow lookup/read operations only (default: false)
--open-cache value
open file cache timeout in seconds (0 means disable this feature) (default: 0)
--subdir value
mount a sub-directory as root (default: "")
--attr-cache value
attributes cache timeout in seconds (default: 1)
--entry-cache value
file entry cache timeout in seconds (default: 0)
--dir-entry-cache value
dir entry cache timeout in seconds (default: 1)
--access-log value
path for JuiceFS access log
--metrics value
address to export metrics (default: "127.0.0.1:9567")
--no-usage-report
do not send usage report (default: false)
--no-banner
disable MinIO startup information (default: false)
--multi-buckets
use top level of directories as buckets (default: false)
--keep-etag
save the ETag for uploaded objects (default: false)
Start a WebDAV server.
juicefs webdav [command options] META-URL ADDRESS
- META-URL: Database URL for metadata storage, see "JuiceFS supported metadata engines" for details.
- ADDRESS: WebDAV address and listening port, for example:
localhost:9007
--bucket value
customized endpoint to access an object storage
--get-timeout value
the max number of seconds to download an object (default: 60)
--put-timeout value
the max number of seconds to upload an object (default: 60)
--io-retries value
number of retries after network failure (default: 10)
--max-uploads value
number of connections to upload (default: 20)
--max-deletes value
number of threads to delete objects (default: 2)
--buffer-size value
total read/write buffering in MiB (default: 300)
--upload-limit value
bandwidth limit for upload in Mbps (default: 0)
--download-limit value
bandwidth limit for download in Mbps (default: 0)
--prefetch value
prefetch N blocks in parallel (default: 1)
--writeback
upload objects in background (default: false)
--upload-delay
delayed duration for uploading objects ("s", "m", "h") (default: 0s)
--cache-dir value
directory paths of local cache, use :
(Linux, macOS) or ;
(Windows) to separate multiple paths (default: "$HOME/.juicefs/cache"
or /var/jfsCache
)
--cache-size value
size of cached objects in MiB (default: 102400)
--free-space-ratio value
min free space (ratio) (default: 0.1)
--cache-partial-only
cache random/small read only (default: false)
--read-only
allow lookup/read operations only (default: false)
--backup-meta
interval to automatically backup metadata in the object storage (0 means disable backup) (default: 1h0m0s)
--no-bgjob
disable background jobs (clean-up, backup, etc.) (default: false)
--open-cache value
open file cache timeout in seconds (0 means disable this feature) (default: 0)
--subdir value
mount a sub-directory as root (default: "")
--attr-cache value
attributes cache timeout in seconds (default: 1)
--entry-cache value
file entry cache timeout in seconds (default: 0)
--dir-entry-cache value
dir entry cache timeout in seconds (default: 1)
--gzip
compress served files via gzip (default: false)
--disallowList
disallow list a directory (default: false)
--access-log value
path for JuiceFS access log
--metrics value
address to export metrics (default: "127.0.0.1:9567")
--consul value
consul address to register (default: "127.0.0.1:8500")
--no-usage-report
do not send usage report (default: false)
Sync between two storage.
juicefs sync [command options] SRC DST
- SRC: source path
- DST: destination path
The format of both source and destination paths is [NAME://][ACCESS_KEY:SECRET_KEY@]BUCKET[.ENDPOINT][/PREFIX]
, in which:
NAME
: JuiceFS supported data storage types (e.g.s3
,oss
) (please refer to this document).ACCESS_KEY
andSECRET_KEY
: The credential required to access the data storage (please refer to this document).BUCKET[.ENDPOINT]
: The access address of the data storage service. The format may be different for different storage types, and please refer to the document.[/PREFIX]
: Optional, a prefix for the source and destination paths that can be used to limit synchronization of data only in certain paths.
For a detailed introduction to the sync
subcommand, please refer to the documentation.
--start KEY, -s KEY
the first KEY to sync
--end KEY, -e KEY
the last KEY to sync
--threads value, -p value
number of concurrent threads (default: 10)
--http-port PORT
HTTP PORT to listen to (default: 6070)
--update, -u
update existing file if the source is newer (default: false)
--force-update, -f
always update existing file (default: false)
--perms
preserve permissions (default: false)
--dirs
Sync directories or holders (default: false)
--dry
don't copy file (default: false)
--delete-src, --deleteSrc
delete objects from source after synced (default: false)
--delete-dst, --deleteDst
delete extraneous objects from destination (default: false)
--exclude PATTERN
exclude Key matching PATTERN
--include PATTERN
don't exclude Key matching PATTERN, need to be used with --exclude
option
--links, -l
copy symlinks as symlinks (default: false)
--limit value
limit the number of objects that will be processed (default: -1)
--manager value
manager address
--worker value
hosts (seperated by comma) to launch worker
--bwlimit value
limit bandwidth in Mbps (0 means unlimited) (default: 0)
--no-https
do not use HTTPS (default: false)
--check-all
verify integrity of all files in source and destination (default: false)
--check-new
verify integrity of newly copied files (default: false)
Remove all files in directories recursively.
juicefs rmr PATH ...
Show internal information for given paths or inodes.
juicefs info [command options] PATH or INODE
--inode, -i
use inode instead of path (current dir should be inside JuiceFS) (default: false)
--recursive, -r
get summary of directories recursively (NOTE: it may take a long time for huge trees) (default: false)
Run benchmark, including read/write/stat for big and small files.
juicefs bench [command options] PATH
For a detailed introduction to the bench
subcommand, please refer to the documentation.
--block-size value
block size in MiB (default: 1)
--big-file-size value
size of big file in MiB (default: 1024)
--small-file-size value
size of small file in MiB (default: 0.1)
--small-file-count value
number of small files (default: 100)
--threads value, -p value
number of concurrent threads (default: 1)
Run basic benchmarks on the target object storage to test if it works as expected.
juicefs objbench [command options] BUCKET
For a detailed introduction to the objbench
subcommand, please refer to the documentation.
--storage value
Object storage type (e.g. s3
, gcs
, oss
, cos
) (default: "file"
, please refer to documentation for all supported object storage types)
--access-key value
Access Key for object storage (can also be set via the environment variable ACCESS_KEY
)
--secret-key value
Secret Key for object storage (can also be set via the environment variable SECRET_KEY
)
--block-size value
size of each IO block in KiB (default: 4096)
--big-object-size value
size of each big object in MiB (default: 1024)
--small-object-size value
size of each small object in KiB (default: 128)
--skip-functional-tests
skip functional tests (default: false)
--threads value, -p value
number of concurrent threads (default: 4)
Collect leaked objects.
juicefs gc [command options] META-URL
--delete
delete leaked objects (default: false)
--compact
compact all chunks with more than 1 slices (default: false).
--threads value
number of threads to delete leaked objects (default: 10)
Check consistency of file system.
juicefs fsck [command options] META-URL
Analyze access log.
juicefs profile [command options] MOUNTPOINT/LOGFILE
--uid value, -u value
only track specified UIDs (separated by comma ,)
--gid value, -g value
only track specified GIDs(separated by comma ,)
--pid value, -p value
only track specified PIDs(separated by comma ,)
--interval value
flush interval in seconds; set it to 0 when replaying a log file to get an immediate result (default: 2)
Show runtime statistics.
juicefs stats [command options] MOUNTPOINT
--schema value
schema string that controls the output sections (u: usage, f: fuse, m: meta, c: blockcache, o: object, g: go) (default: "ufmco")
--interval value
interval in seconds between each update (default: 1)
--verbosity value
verbosity level, 0 or 1 is enough for most cases (default: 0)
--nocolor
disable colors (default: false)
Show status of JuiceFS.
juicefs status [command options] META-URL
--session value, -s value
show detailed information (sustained inodes, locks) of the specified session (sid) (default: 0)
Build cache for target directories/files.
juicefs warmup [command options] [PATH ...]
--file value, -f value
file containing a list of paths
--threads value, -p value
number of concurrent workers (default: 50)
--background, -b
run in background (default: false)
Dump metadata into a JSON file.
juicefs dump [command options] META-URL [FILE]
When the FILE is not provided, STDOUT will be used instead.
--subdir value
only dump a sub-directory.
Load metadata from a previously dumped JSON file.
juicefs load [command options] META-URL [FILE]
When the FILE is not provided, STDIN will be used instead.
Change config of a volume.
juicefs config [command options] META-URL
--capacity value
limit for space in GiB
--inodes value
limit for number of inodes
--bucket value
a bucket URL to store data
--access-key value
access key for object storage
--secret-key value
secret key for object storage
--session-token value
session token for object storage
--trash-days value
number of days after which removed files will be permanently deleted
--force
skip sanity check and force update the configurations (default: false)
Destroy an existing volume
juicefs destroy [command options] META-URL UUID
--force
skip sanity check and force destroy the volume (default: false)