msync(1)

πŸ“¦ version 5.4.2, in nixos 26.05, nixpkgs unstable

πŸ’… msync β€” the Manta Syncer Bestie

Okay so bestie, welcome to msync from the Manta Commands crew 🫢. This little icon is about syncing a whole directory hierarchy with Manta, and honestly? It's giving organized queen energy. ✨

🌸 SYNOPSIS

msync LOCAL_PATH MANTA_PATH

msync -r MANTA_PATH LOCAL_PATH

πŸ’– DESCRIPTION

The msync utility synchronizes the contents of a directory between a local filesystem and manta. By default a local directory will be uploaded to Manta. Using the -r flag will reverse the operation, downloading an entire Manta directory. No cap, it's that simple. πŸ¦‹

Like rsync, msync will skip files already on the destination by checking the size (or alternatively the md5 sum). So it's not gonna redo work it already ate. πŸ’…

πŸŽ€ EXAMPLES

$ msync ./shakespeare/ ~~/stor/plays/shakespeare
building source file list...
source file list built, 1222 files found
/fbulsara/stor/plays/shakespeare/index.html... not found, adding to sync list (1/1222)
/fbulsara/stor/plays/shakespeare/test.html... not found, adding to sync list (2/1222)
/fbulsara/stor/plays/shakespeare/favicon.ico... not found, adding to sync list (3/1222)
/fbulsara/stor/plays/shakespeare/news.html... not found, adding to sync list (4/1222)
. . .
/fbulsara/stor/plays/shakespeare/History/2kinghenryvi/2henryvi.2.3.html... synced (1221/1222)
/fbulsara/stor/plays/shakespeare/History/2kinghenryvi/2henryvi.4.8.html... synced (1222/1222)

1222 files (24.07 MB) synced successfully, 0 files failed to sync (took 33s 758ms)
done

Look at that progress bar energy β€” literally so satisfying to watch. 😭πŸ”₯

✨ OPTIONS ✨

  • -a, --account=login β€” Authenticate as account (login name). Like, tell Manta who you are bestie.
  • -c, --copies=copies β€” Number of copies to make. Because sometimes one copy is not enough, periodt.
  • -f, --file=tarfile β€” The tar file to extract from. Unpack that archive, queen. πŸŽ€
  • -H, --header=header β€” HTTP headers to include. Custom vibes for your requests.
  • -h, --help β€” Print a help message and exit. The classic "help me help you" move.
  • -i, --insecure β€” This option explicitly allows "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. So like, it's lowkey risky but you do you. 🚨
  • -k fingerprint, --key=fingerprint β€” Authenticate using the SSH key described by FINGERPRINT. The key must either be in ~/.ssh or loaded in the SSH agent via ssh-add. Slay your auth game.
  • -p NUM, --parallel=NUM β€” Limit concurrent operations to NUM. Default is 20. Don't overwhelm the poor server, bestie.
  • -t, --type type β€” Specify d for directories, and o for objects. If specified, only names of that type will be returned. Filter it out, iykyk.
  • --role=ROLE,ROLE,... β€” Specify which roles to assume for the request. Gotta get into character for Manta. πŸ‘‘
  • --role-tag=ROLE,ROLE,... β€” Set the role tags on created objects and directories. Tag it like it's hot.
  • --user user β€” Authenticate as user under account. Sub-user realness.
  • -u, --url url β€” Manta base URL (such as https://us-central.manta.mnx.io). Where the magic happens.
  • -v, --verbose β€” Print debug output to stderr. Repeat option to increase verbosity. The more you repeat, the more it spills. πŸ—£οΈ
  • -j, --just-delete β€” don't send local files, just delete extra remote files. Cleanup era.
  • -l, --ignore-links β€” ignore symlinks. Note: By default symlinks are followed. The linked file will be uploaded as an object to Manta. So choose wisely whether you follow the drama or not. πŸ™ˆ
  • -m, --md5 β€” use md5 instead of file size (slower, but more accurate). Highkey more thorough, but it takes its time. ⏳
  • -n, --dry-run β€” don't perform any remote PUT or DELETE operations. Just a dress rehearsal, no actual moves.
  • -p CONCURRENCY, --parallel=CONCURRENCY β€” limit concurrent operations. Yes, it's listed again β€” the manpage said it twice and we keep it twice, periodt. πŸ’…
  • -q, --quiet β€” suppress all output. Silence is golden, queen.
  • -r, --reverse β€” manta to local sync. Flip the script and download instead of upload. πŸ”„

🌈 ENVIRONMENT

  • MANTA_USER β€” In place of -a, --account. Your login identity, but as a vibe.
  • MANTA_SUBUSER β€” In place of --user. Sub-user energy, no flag needed.
  • MANTA_KEY_ID β€” In place of -k, --key. Your key fingerprint, pre-loaded.
  • MANTA_ROLE β€” In place of --role. Assume the role automatically.
  • MANTA_URL β€” In place of -u, --url. The base URL, ready to go.
  • MANTA_TLS_INSECURE β€” In place of -i, --insecure. YOLO SSL mode via env var.

The shortcut ~~ is equivalent to /:login where :login is the account login name. So cute and efficient. 🧚

🩺 DIAGNOSTICS

Unlike other commands, -v does not output bunyan logs. Instead, it will list each file status rather than only files that are out of sync. So verbose mode gives you the whole tea, not just the drama. β˜•

πŸ“ NOTES

πŸ’€ BUGS

DSA keys do not work when loaded via the SSH agent. Not me finding out the hard way, but okay. 😭

Report bugs at Github ⟨https://github.com/TritonDataCenter/node-manta/issues⟩ β€” go snitch to the devs, bestie. 🫢


This iconic page is from May 2023, part of the Manta Commands collection β€” mwah πŸ’‹

πŸ“¦ where this page comes from