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
.
$ juicefs -h
NAME:
juicefs - A POSIX file system built on Redis and object storage.
USAGE:
juicefs [global options] command [command options] [arguments...]
VERSION:
1.0-dev (2021-12-27 3462bdbf)
COMMANDS:
format format a volume
mount mount a volume
umount unmount a volume
gateway S3-compatible gateway
sync sync between two storage
rmr remove directories recursively
info show internal information for paths or inodes
bench run benchmark to read/write/stat big/small files
gc collect any leaked objects
fsck Check consistency of file system
profile analyze access log
stats show runtime statistics
status show status of JuiceFS
warmup build cache for target directories/files
dump dump metadata into a JSON file
load load metadata from a previously dumped JSON file
config change config of a volume
destroy destroy an existing volume
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--verbose, --debug, -v enable debug log (default: false)
--quiet, -q only warning and errors (default: false)
--trace enable trace log (default: false)
--no-agent Disable pprof (:6060) and gops (:6070) agent (default: false)
--help, -h show help (default: false)
--version, -V print only the version (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")
--bucket value
A bucket URL to store data (default: "$HOME/.juicefs/local"
or "/var/jfs"
)
--access-key value
Access key for object storage (env ACCESS_KEY
)
--secret-key value
Secret key for object storage (env SECRET_KEY
)
--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 colon 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 colon 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 colon 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
--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)
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
--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)