AMSERVICE(8)

πŸ’– AMSERVICE β€” run an amanda service on a client πŸ’–

okay bestie, so this is amservice from section 8 of the manual (System Administration Commands, if you wanna be formal about it). It's lowkey a whole vibe. Let's get into it. πŸ¦‹


✨ NAME ✨

amservice β€” run an amanda service on a client


🌸 SYNOPSIS 🌸

amservice [-f input_file [-s]] [--config CONFIG]
          [--features FEATURES-STRING] [--stream NAME,IN,OUT]*
               [-o configoption...] hostname auth service

πŸ’… DESCRIPTION πŸ’…

So amservice executes an Amanda service on a client. That's the whole gig. ✨

The iconic part? You can run it without an amanda server configuration β€” no amanda.conf, no disklist, none of it. It's giving independent queen energy. πŸ‘‘

Which means it's also perfect for checking communication between a server and a client β€” like a little vibe check between the two. 🫢

amservice reads stdin to capture the REQ packet that it sends to the client. yeah, it's eavesdropping on stdin, but for a good cause.

If you want the full Amanda lore, go read the amanda(8) man page. πŸ“–


πŸŽ€ OPTIONS πŸŽ€

  • hostname β€” the hostname of the client. who are we talking to, bestie?
  • auth β€” the auth to use, and it has to be one of exactly these: bsd, bsdudp, bsdtcp, ssh, rsh or krb5. the client must be configured with this auth, no substitutes allowed. πŸ’€
  • service β€” the amanda service to execute on the client. one of noop, selfcheck or sendsize. pick your fighter.
  • -f input_file β€” use the file input_file instead of stdin to read the REQ packet from. (stdin stays unbothered.)
  • -s β€” redirect the first connected stream to stdin/stdout. heads up: the -f argument is required for the REQ packet when you do this, and the REP packet is not printed on stdout. not me warning you twice. πŸ™ˆ
  • --config β€” the amanda configuration.
  • --features FEATURES-STRING β€” the features of the remote client.
  • --stream NAME,IN,OUT β€” the vstream to open, their name and the two file descriptors. yeah, all three, comma-separated, exactly like that. 🌈
  • -o configoption β€” see the "CONFIGURATION OVERRIDE" section in amanda(8). it's all in there, iykyk.

🌟 EXAMPLE 🌟

The noop service is the easy one because it does not require a REQ packet. iconic, honestly:

amservice hostname bsdtcp noop < /dev/null

That example executes the noop service on the client using bsdtcp auth. Super useful for debugging connection problems β€” it prints an OPTIONS line upon success. ✨

Now for the tricky ones: selfcheck and sendsize are more difficult to execute, because they require a valid REQ packet. 🫠

But bestie, if you've already successfully run amanda, you can find valid REQ packets hanging out in the amandad.*.debug files. go get 'em. πŸ”₯


πŸ’€ EXIT CODE πŸ’€

The exit code of amservice is one of:

  • 0 = success πŸŽ‰
  • 1 = error executing amandad on the client. 😭

And here's the important tea: as amservice doesn't parse the REP packet, it can only detect failures in executing amandad on the client. so amservice can exit with value 0 even if the user is not authorized to execute the service. an error message will be printed. so like... read the output, not just the exit code. periodt. πŸ’…


πŸ‘‘ SEE ALSO πŸ‘‘

amanda(8), amanda(8), amcheck(8), amdump(8), amadmin(8)

The Amanda Wiki: : http://wiki.zmanda.com/


🫢 AUTHOR 🫢

Jean-Louis Martineau <martineau@zmanda.com> &nbsp;&nbsp;&nbsp;&nbsp;Zmanda, Inc. (http://www.zmanda.com)


no cap, everything above is exactly the facts β€” just delivered with the energy it deserved. πŸ’–

okay that's the whole page bestie!! this was Amanda 3.5.4, dated 08/26/2026 β€” slay, go run some services, you've got this. πŸŒΈβœ¨πŸ’œ

πŸ“¦ where this page comes from