» Command: fs
The fs command allows a user to navigate an allocation directory on a Nomad
client. The following functionalities are available - cat, tail, ls and
stat.
cat: If the target path is a file, Nomad willcatthe file.tail: If the target path is a file and-tailflag is specified, Nomad willtailthe file.ls: If the target path is a directory, Nomad displays the name of a file and directories and their associated information.stat: If the-statflag is used, Nomad will display information about a file.
» Usage
nomad fs [options] <allocation> <path>
This command accepts a single allocation ID (unless the -job flag is specified,
in which case an allocation is chosen from the given job) and a path. The path is
relative to the root of the allocation directory. The path is optional and it
defaults to / of the allocation directory.
» General Options
-address=<addr>: The address of the Nomad server. Overrides theNOMAD_ADDRenvironment variable if set. Defaults tohttp://127.0.0.1:4646.-region=<region>: The region of the Nomad server to forward commands to. Overrides theNOMAD_REGIONenvironment variable if set. Defaults to the Agent's local region.-no-color: Disables colored command output.-ca-cert=<path>: Path to a PEM encoded CA cert file to use to verify the Nomad server SSL certificate. Overrides theNOMAD_CACERTenvironment variable if set.-ca-path=<path>: Path to a directory of PEM encoded CA cert files to verify the Nomad server SSL certificate. If both-ca-certand-ca-pathare specified,-ca-certis used. Overrides theNOMAD_CAPATHenvironment variable if set.-client-cert=<path>: Path to a PEM encoded client certificate for TLS authentication to the Nomad server. Must also specify-client-key. Overrides theNOMAD_CLIENT_CERTenvironment variable if set.-client-key=<path>: Path to an unencrypted PEM encoded private key matching the client certificate from-client-cert. Overrides theNOMAD_CLIENT_KEYenvironment variable if set.-tls-skip-verify: Do not verify TLS certificate. This is highly not recommended. Verification will also be skipped ifNOMAD_SKIP_VERIFYis set.
» Fs Options
-H: Machine friendly output.-verbose: Display verbose output.-job: Use a random allocation from the specified job, preferring a running allocation.-stat: Show stat information instead of displaying the file, or listing the directory.-f: Causes the output to not stop when the end of the file is reached, but rather to wait for additional output.-tail: Show the files contents with offsets relative to the end of the file. If no offset is given, -n is defaulted to 10.-n: Sets the tail location in best-efforted number of lines relative to the end of the file.-c: Sets the tail location in number of bytes relative to the end of the file.
» Examples
$ nomad fs eb17e557
Mode Size Modified Time Name
drwxrwxr-x 4096 28 Jan 16 05:39 UTC alloc/
drwxrwxr-x 4096 28 Jan 16 05:39 UTC redis/
-rw-rw-r-- 0 28 Jan 16 05:39 UTC redis_exit_status
$ nomad fs eb17e557 redis/local
Mode Size Modified Time Name
-rw-rw-rw- 0 28 Jan 16 05:39 UTC redis.stderr
-rw-rw-rw- 17 28 Jan 16 05:39 UTC redis.stdout
$ nomad fs -stat eb17e557 redis/local/redis.stdout
Mode Size Modified Time Name
-rw-rw-rw- 17 28 Jan 16 05:39 UTC redis.stdout
$ nomad fs eb17e557 redis/local/redis.stdout
foobar
baz
$ nomad fs -tail -f -n 3 eb17e557 redis/local/redis.stdout
foobar
baz
bam
<blocking>
» Using Job ID instead of Allocation ID
Setting the -job flag causes a random allocation of the specified job to be
selected. Nomad will prefer to select a running allocation ID for the job, but
if no running allocations for the job are found, Nomad will use a dead
allocation.
nomad fs -job <job-id> <path>
This can be useful for debugging a job that has multiple allocations, and it's not really required to use a specific allocation ID.