ethdownloadall(8)

πŸ“¦ version 12.1.0.1, in centos-stream 9, fedora 43, fedora 44, opensuse-leap 16.0

πŸ’– ethdownloadall πŸ’–

ok so bestie, welcome to ethdownloadall, a classic from the EFSFFCLIRG manual page set. she's giving main character energy and honestly? deserved.


✨ NAME ✨

ethdownloadall β€” copies one or more files to a group of hosts from a system.

here's the tea: since the file contents you're copying might be different for every single host, this tool uses a separate directory on this system for each host's source files. so like, per-host source folders. yes really. and you can also run her hand-in-hand with ethuploadall to upload a host-specific config file, edit it for each host, and then download the new version to all the hosts. iconic workflow, no notes. πŸŽ€

NOTE: 🌸 - the tool ethdownloadall can ONLY copy from this system to a group of hosts in the cluster. if you wanna go the other way β€” from hosts in the cluster back to this host β€” you need ethuploadall instead. different girl, different job. πŸ’… - user@ syntax cannot be used in filenames specified. just don't. she won't accept it. πŸ™ˆ

🌈 Syntax 🌈

ethdownloadall [-pr] [-f  hostfile] [-h 'hosts']
[-u  user] [-d  download_dir] source_file ...  dest_file

πŸ¦‹ Options πŸ¦‹

  • --help β€” produces full help text. your girl always comes prepared. πŸ’–
  • -p β€” performs copy in parallel on all hosts. speed. ✨
  • -r β€” performs recursive download of directories. folders within folders, going deep. πŸŒ€
  • -f hostfile β€” specifies the file with hosts in cluster. default is the /etc/eth-tools/hosts file. 🏠
  • -h hosts β€” specifies the list of hosts to download files to. the guest list, basically. πŸ‘‘
  • -u user β€” specifies the user to perform the copy. default is the current user. (so if you don't say anything, it's just you. always has been. 🫢)
  • -d download_dir β€” specifies the directory to download files from. default is downloads. if you don't specify it, the environment variable DOWNLOADS_DIR gets used instead. and if that isn't exported either? default it is. the fallback chain is real. 😭
  • source_file β€” specifies the list of source files to copy from the system.
NOTE: 🌸 the option source_file is relative to download_dir/hostname. a local directory within download_dir/ must exist for each host being downloaded to. each downloaded file is copied from download_dir/hostname/source_file. so like, the path is doing a little collaboration with the hostname, iykyk.
  • dest_file β€” specifies the name of the file or directory on the destination hosts to copy to.
NOTE: 🌸 if more than one source file is specified, dest_file is treated as a directory name. the given directory must already exist on the destination host. the copy FAILS for hosts where the directory does not exist. no auto-mkdir, she is not your project manager. πŸ’€

🌸 Example 🌸

ethdownloadall -h 'arwen elrond' irqbalance vncservers /etc

# Copies two files to 2 hosts

ethdownloadall -p irqbalance vncservers /etc

# Copies two files to all hosts

look at her go. two files, two hosts, then two files, ALL hosts. parallel. slay. πŸ”₯


🧚 Environment Variables 🧚

the following environment variables are also used by this command:

  • HOSTS β€” list of hosts; used if the -h option is not supplied. 🫢
  • HOSTS_FILE β€” file containing list of hosts; used in the absence of -f and -h. the backup of the backup. πŸ’œ
  • DOWNLOADS_DIR β€” directory to download from, used in the absence of -d. πŸ“
  • FF_MAX_PARALLEL β€” when the -p option is used, the maximum concurrent operations are performed. so this is the throttle for the chaos. ✨

and that's the whole page, bestie β€” every flag, every default, every path, every env var, all of it, nothing skipped, periodt. πŸ’…

this gorgeous little number came to you courtesy of the EFSFFCLIRG man page set, with copyright held by Intel Corporation, dated 2020-2024, and filed under section ethdownloadall(8). πŸŽ€ bye bestie, go copy some files πŸ’–βœ¨

πŸ“¦ where this page comes from