AMCHECK(8)

🌸 amcheck β€” run Amanda self-checks πŸ’…

okay bestie, welcome to amcheck(8), section 8 of the system administration commands, and it's literally the vibes-check of the Amanda world. she runs the self-checks so your backups don't have a meltdown at 3am. let's get into it 🫢


✨ SYNOPSIS ✨

amcheck [-am] [-w] [-sclt] [-M address] [--client-verbose]
        [--exact-match] [-o configoption...] config [host [disk...]...]

πŸ¦‹ DESCRIPTION πŸ¦‹

so amcheck runs a whole bunch of self-checks on both the Amanda tape server host and the Amanda client hosts. like, everybody gets checked. no one is escaping the vibe check.

On the tape server host, amcheck can go through the same tape checking that happens at the start of the nightly amdump run, so you can verify the correct tape for the next run is mounted. slay, no more surprise "wrong tape" drama.

amcheck can also do a self-check on all client hosts, just to make sure each host is running and that the permissions on the filesystems to be backed up are correct. icon behavior, honestly.

You can specify many host/disk expressions, too β€” only disks that match an expression will be checked. And if you don't give any expressions at all? bestie, all disks get checked. every single one. the whole roster.

peep the amanda(8) man page if you want more deets about Amanda in general πŸ’–

🌈 OPTIONS 🌈

one bullet per flag, and no, we are not skipping any. every last one is getting her moment. periodt.

  • -s β€” run the tape server local checks AND the tape checks. same thing as -lt.
  • -c β€” run the client host checks. want specific clients checked? just name them.
  • -l β€” run the local tests on the server host (stuff like permissions, yk).
  • -t β€” run the tape tests on the server host.
  • -w β€” enables a DESTRUCTIVE check for write-protection on the tape (which would otherwise cause the subsequent amdump to fail). bestie read this part twice, fr fr πŸ‘€ if the tape is writable, this check causes all data after the tape label to be erased. and if the autolabel option is enabled, this check may ERASE any non-Amanda tape in the drive or changer. yes, any. 😭 This check enables the tape tests on the server host and is only made if the tape is otherwise correct.
  • -m β€” nothing gets printed, but mail is sent if any errors are detected. the mail goes to the mailto address specified in the amanda.conf file, or to the address value if -M is set.
  • -a β€” like -m but the mail is always sent. no chill, but in a good way.
  • -M address β€” mail the report to address instead of the mailto value from amanda.conf. implies -m.
  • --client-verbose β€” print all client messages. all of them. every last one.
  • --exact-match β€” the host and disk are parsed as exact values.
  • host [disk]* β€” specify the host and disk on which the command will work.
  • -o configoption β€” see the "CONFIGURATION OVERRIDE" section in amanda(8).

and the default? the default is -cs. that's the starting outfit, no styling needed bestie πŸŽ€


πŸ’– EXAMPLES πŸ’–

In this example, both the tape server and client tests are run. The results are displayed on standard output.

% amcheck daily
Amanda Tape Server Host Check
-----------------------------
/amanda2/amanda/work: 911475 KB disk space available, that's plenty.
NOTE: skipping tape-writable test.
Tape VOL10 label ok.
Server check took 34.966 seconds.

Amanda Backup Client Hosts Check
--------------------------------
WARNING: northstar: selfcheck request timed out.  Host down?
WARNING: drinkme: selfcheck request timed out.  Host down?
WARNING: scruffy: selfcheck request timed out.  Host down?
Client check: 136 hosts checked in 51.945 seconds, 3 problems found.

(brought to you by Amanda 2.5.0)

In this example, if the line mailto csd-amanda is in amanda.conf, mail will be sent to csd-amanda if the server check returns an error.

% amcheck -s -m daily

πŸ’¬ MESSAGES πŸ’¬

okay bestie, this is the big one β€” every single thing amcheck can yell at you about. each message comes with a severity tag: (error) means it's bad-bad, (warning) means look at me, (info) means just letting you know, no drama. 🫢


fatal slot slot: error message

(error) β€” the tape changer hit some kind of fatal error while it was trying to load slot slot. rip. 😭

slot slot: error message

(warning) β€” the tape changer ran into a non-fatal error while loading slot slot (think: it found an empty slot lol), or something went wrong trying to read the tape label. not fatal, but still πŸ‘€

slot slot: date YYYYMMDD label label (result)

(info) β€” the tape label in slot slot got loaded and it turns out it was last written on YYYYMMDD. if the tape is brand new, that date field is just an X. and result can be any one of these:

  • exact label match β€” this is the tape you were expecting, no notes, slay. πŸ‘‘
  • no match β€” this label does not match the labelstr pattern in amanda.conf. tape scanning keeps going.
  • active tape β€” this tape is still active and literally cannot be overwritten. tape scanning keeps going.
  • first labelstr match β€” this tape is the first one matching the labelstr pattern in amanda.conf. tape scanning continues if actually necessary.
  • labelstr match β€” this tape is the next one matching the labelstr pattern in amanda.conf. tape scanning keeps going.

ERROR: cannot look up dump user user

(error) β€” dump user user from amanda.conf could not be found in the system password information. it's giving "who is she". πŸ’€

ERROR: cannot look up my own uid (uid)

(error) β€” user id uid that's running amcheck couldn't be found in the system password information.

ERROR: running as user runuser instead of dumpuser

(error) β€” amcheck is supposed to be run as the dump user dumpuser from amanda.conf, not as runuser. wrong girl, wrong time. πŸ™ˆ

ERROR: program dir directory: not accessible

(error) β€” the directory Amanda expects to find its auxiliary programs in, directory, is not accessible.

ERROR: program program: does not exist

(error) β€” program program that's needed on the tape server could not be found. gone. vanished. not the vibe. πŸ¦‹

ERROR: program program: not a file

(error) β€” program program needed on the tape server exists but is not a file.

ERROR: program program: not executable

(error) β€” program program needed on the tape server exists but is not executable.

WARNING: program program: not setuid-root

(warning) β€” program program needed on the tape server exists, but it should be owned by user "root" and setuid. it's giving security main character energy πŸ”

ERROR: XXX dir directory: not writable

(error) β€” directory directory is either not writable (aka the dump user won't be able to create or remove files), or it can't be accessed, maybe because a parent directory doesn't allow search permission. and that XXX can be:

  • log β€” for the Amanda log directory (see logdir in amanda.conf)
  • oldlog β€” for the directory that holds the old log files (see logdir in amanda.conf)
  • info β€” for an Amanda database information directory (see curinfo in amanda.conf), or
  • index β€” for an Amanda index directory (see indexdir in amanda.conf)
  • tapelist β€” for the tapelist(5)

NOTE: XXX dir directory: does not exist

(info) β€” a database (info) or index directory doesn't exist or can't be accessed. this might just mean it's a new client or disk, but if that's not the case, bestie you should treat this as an error. 🚨

NOTE: it will be created on the next run

(info) β€” this is saying the info directory from the previous message will be created on the next run. it's coming, she's just running late. ✨

ERROR: XXX dir name: not a directory

(error) β€” amcheck expected name to be a directory, but it's something else entirely (e.g. file).

WARNING: info file file: does not exist

(warning) β€” file file doesn't exist in the text format database. since the parent directories do exist, the file should already have been created. suspicious. 🀨

ERROR: info file name: not a file

(error) β€” amcheck expected name to be a file, but it's something else (e.g. file).

ERROR: info file file: not readable

(error) β€” the text format database file file is not readable.

ERROR: log file file: not writable

(error) β€” log file file (the file log in logdir from amanda.conf) is either not writable, or can't be accessed, maybe because a parent directory doesn't allow search permission.

ERROR: tape list tapelist: not writable

(error) β€” tapelist(5) is not writable or wasn't found.

ERROR: tape list tapelist: parse error

(error) β€” tapelist(5) could not be read or parsed.

WARNING: tapedev is /dev/null, dumps will be thrown away

(warning) β€” the tapedev parameter in amanda.conf is set to /dev/null and Amanda uses that when debugging to throw all the dump images away. bye bye data, you will be missed. πŸ’€

WARNING: hold file file exists

(info) β€” hold file file exists and will cause amdump to pause at the beginning until it is removed. she's blocking the door fr fr.

ERROR: holding disk disk: statfs: error message

(error) β€” an error came back from the statfs system call on holding disk disk (maybe because it doesn't exist).

ERROR: holding disk disk: not writable

(error) β€” holding disk disk is not writable, probably because the caller doesn't have write permission or a parent directory doesn't allow search permission.

WARNING: holding disk disk: available space unknown N KB requested.

(warning) β€” amcheck could not figure out how much space was available on holding disk disk to check whether there were at least N KBytes available. mystery space, spooky. 🧚

WARNING: holding disk disk: only F KB free (R KB requested).

(warning) β€” amanda.conf requested R KBytes of free space on holding disk disk, but only F KBytes were available. 10 MBytes is subtracted for each backup process (see the inparallel amanda.conf option) to allow for unexpected overruns.

Note β€” even though this message is listed as a warning, it causes amcheck to exit with a non-zero status. so yeah, it counts. 😀

Holding disk disk: N KB disk space available, that's plenty.

(info) β€” there was sufficient free space on holding disk disk. we love to see it. πŸ’–

WARNING: holding disk disk: only F KB free, using nothing

(warning) β€” holding disk disk has F KBytes of free space, but that's not enough for what's requested in amanda.conf.

Holding disk disk: F KB disk space available, using U KB

(info) β€” holding disk disk has F KBytes of free space and Amanda will be using up to U Kbytes.

WARNING: if a tape changer is not available, runtapes must be set to 1.

(warning) β€” the runtapes amanda.conf option must be set to 1 if the tpchanger amanda.conf option is not set.

ERROR: error message.

(error) β€” an error was detected while initializing the tape changer.

ERROR: tape device: error message.

(error) β€” an error was detected while processing the tape label.

ERROR: cannot overwrite active tape label.

(error) β€” tape label is still active and cannot be used. hands off bestie πŸ’…

ERROR: label label doesn't match labelstr pattern .

(error) β€” the label on tape label does not match the labelstr amanda.conf option.

(expecting a new tape)

(info) β€” the tape is not OK and a new tape was expected.

(expecting tape label or a new tape)

(info) β€” the tape is not OK and either tape label or a new tape was expected.

ERROR: tape label label ok, but is not writable.

(error) β€” tape label is OK, but the write enable test failed.

Tape label is writable.

(info) β€” tape label is OK and the write enable test succeeded. ate. βœ…

NOTE: skipping tape-writable test.

(info) β€” the tape write test (see the -w option) was not enabled.

WARNING: skipping tape test because amdump or amflush seem to be running, WARNING: if they are not, you must run amcleanup

(warning) β€” it looked to amcheck like either amdump or amflush were running, because a log file or amdump file exists. if they are not actually running, you probably need to run amcleanup to clear up a previous failure. otherwise, you need to wait until they finish before running amcheck. patience, queen. ⏳

NOTE: skipping tape checks

(info) β€” the tape tests are being skipped because you used the -t command line option.

WARNING: compress is not executable, server-compression and indexing will not work

(warning) β€” compression program compress is not executable, so compression on the tape server host and creating index files will not work. 😭

Tape label label ok.

(info) β€” tape label is OK for the next run.

Server check took S seconds.

(info) β€” tells you how long the tape server host checks took.

ERROR: host: could not resolve hostname

(error) β€” could not look up client hostname host.

Client check: H hosts checked in S seconds, N problems found.

(info) β€” tells you how many client hosts got checked, how long it took, and how many errors were detected.

WARNING: host: selfcheck request timed out. Host down?

(warning) β€” there was no response from host when trying to do the client checks. the host might really be down, or it might not be configured properly. ghosting, honestly. πŸ‘»

ERROR: host NAK: message

(error) β€” host reported a negative acknowledgment error of message to the status check request.

ERROR: host NAK: [NAK parse failed]

(error) β€” amcheck could not parse the negative acknowledgment error from host. there might be an Amanda version mismatch between the host running amcheck and the host. awkward. πŸ™ˆ

ERROR: host [mutual-authentication failed]

(error) β€” Kerberos authentication failed while contacting host.

ERROR: host: message

(error) β€” error message was reported by the status check on host.


πŸšͺ EXIT CODE πŸšͺ

the exit code of amcheck is one of these, and honestly it's very binary-girl of her:

 0  = success
 1  = error

πŸ‘€ SEE ALSO πŸ‘€

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


🫢 AUTHORS 🫢

  • James da Silva <jds@amanda.org>
  • Stefan G. Weichinger <sgw@amanda.org>

and that's the whole page bestie, you made it to the end πŸŽ€ this little masterpiece is from Amanda 3.5.4, dated 08/26/2026, and it lives in section AMCHECK(8). no cap, go run your checks and slay βœ¨πŸ’…πŸŒˆ

πŸ“¦ where this page comes from