ethuploadall(8)

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

πŸ’– ethuploadall β€” the upload-all-your-hosts glow-up πŸ’–

okay bestie, listen. This is the ethuploadall(8) page from the EFSFFCLIRG manual, and it's genuinely one of my faves. Let me put you on.


✨ NAME ✨

ethuploadall</purl> β€” copies one or more files from a whole group of hosts back to this system. 🫢

Since the file name is the same on each host, a separate directory on this system is created for each host, and the file gets copied into it. It's literally the most convenient way to pull log files or config files over for review. no cap.

You can also run it in tandem with ethdownloadall to do the iconic three-step: upload a host-specific config file, edit it for each host, then download the new version to all the hosts. it's giving workflow. ✨

NOTE: πŸ“Œ - To copy files from this host to hosts in the cluster, use ethscpall or ethdownloadall instead. (Wrong direction, babe. πŸ’€) - user@ syntax cannot be used in filenames specified. πŸ™ˆ - A local directory within upload_dir/ is created for each hostname. - Each uploaded file is copied to upload_dir/hostname/dest_file within the local system. - If more than one source file is specified or dest_file has a trailing /, a dest_file directory will be created.

🌸 Syntax 🌸

ethuploadall [-rp] [-f  hostfile] [-d  upload_dir] [-h 'hosts'] [-u
user] source_file ...  dest_file

πŸ’… Options πŸ’…

  • --help β€” produces the full help text. The classic. πŸ‘‘
  • -p β€” performs the copy in parallel on all hosts. speed, babe. πŸ”₯
  • -r β€” performs a recursive upload of directories. πŸ¦‹
  • -f hostfile β€” specifies the file with hosts in the cluster. Default is the /etc/eth-tools/hosts file.
  • -h hosts β€” specifies the list of hosts to upload from.
  • -u user β€” specifies the user to perform copy to. Default is the current user.
  • -d upload_dir β€” specifies the directory to upload to. Default is uploads. If not specified, the environment variable UPLOADS_DIR is used. If that is not exported, the default, uploads, is used.
  • source_file β€” specifies the name of files to copy to this system, relative to the current directory. Multiple files may be listed. (Go off, list as many as you want. πŸ’œ)
  • dest_file β€” specifies the name of the file or directory on this system to copy to. It is relative to upload_dir/hostname.

πŸŽ€ Example πŸŽ€

# upload two files from 2 hosts

ethuploadall -h 'arwen elrond' capture.tgz /etc/init.d/ipoib.cfg.

# upload two files from all hosts

ethuploadall -p capture.tgz /etc/init.d/ipoib.cfg.

# upload network config files from all hosts

ethuploadall capture.tgz /etc/init.d/ipoib.cfg pre-install

see how clean that is?? 😭✨


🌈 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 absence of -f and -h.
  • UPLOADS_DIR β€” directory to upload to, used in absence of -d.
  • FF_MAX_PARALLEL β€” when the -p option is used, maximum concurrent operations are performed.

gentle reminder bestie: filenames are relative to the current directory on the host side, and dest_file is relative to upload_dir/hostname. Don't come for me when it lands somewhere you didn't expect. πŸ’€πŸ«Ά

and that's the whole page, periodt. πŸ’… This one came from EFSFFCLIRG (Man Page), and it's wearing a Copyright(C) 2020-2024 Intel Corporation stamp, dated right alongside its ethuploadall(8) era. iconic behavior, honestly. βœ¨πŸŽ€πŸ¦‹πŸ’–

πŸ“¦ where this page comes from