AMREPORT(8)

๐Ÿ’… AMREPORT โ€” amreport(8) ๐Ÿ’…

System Administration Commands โœจ the girlies who read man 8 rise up


๐ŸŒธ NAME ๐ŸŒธ

amreport โ€” generate a formatted output of statistics for an Amanda run ๐Ÿ’–


โœจ SYNOPSIS โœจ

amreport [-o configoption...] [(1) command-line options | (2) script
         options] [config]

(1) [--log=logfile] [--format=MODULE:DEST,DEST-ARG] [--ps=filename]
    [--text=filename] [--xml=filename] [--print=printer]
    [--mail-text=recipient]

(2) [-i] [-M address] [-l logfile] [-f outputfile] [-p postscriptfile]
    [--from-amdump]

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

Okay so bestie, amreport literally generates a summary report of an Amanda backup run. That's it, that's the job. ๐Ÿ“Š

Want the whole Amanda lore? Go read the amanda(8) man page, it has more details. ๐Ÿซถ


๐Ÿ‘‘ OPTIONS ๐Ÿ‘‘

  • config โ€” the name of the configuration you wanna process. And if you don't name one? It just reads amanda.conf from the current directory. No cap. ๐Ÿ“
  • -o configoption โ€” see the "CONFIGURATION OVERRIDE" section over in amanda(8). ๐Ÿ’…

amreport runs in two whole modes, and the vibe is different in each:

  • Command-line mode โ€” made for an admin typing at the command line. Uses long command-line options because clarity is the moment. โœจ
  • Script mode โ€” made for scripts like amdump, and it has a lot of non-obvious default behaviors to serve that need. ๐Ÿ’€

Unless you give it a script-mode option, amreport defaults to command-line mode. And if you give it no options at all? It writes a report for the most recent logfile to stdout. Simple, iconic, done. ๐ŸŽ€


๐Ÿงš Command-Line Mode Options ๐Ÿงš

  • --log=logfile โ€” use this logfile as the basis for the report. Lowkey important: if you give this option, the report is a "historical" report and will not include current state from e.g. holding disk and curinfo. If you don't specify it, the most recent logfile gets used. โณ
  • --format=MODULE:DEST,DEST-ARG โ€” use the given perl module to format the report, and send it to DEST with the given DEST-ARG. ๐Ÿš€

The valid modules provided with amanda are: human, json, json_raw, ps and xml. The valid destinations are file, mail and print. And the DEST-ARG depends on the destination. ๐Ÿ‘€

The default destination is file.

The default arg for the file destination is '-' (that's stdout, bestie).

The default arg for the mail destination is the MAILTO configuration option.

The default arg for the print destination is the PRINTER configuration option.

Examples:

--format=human
--format=human:mail
--format=human:mail:root
--format=human:file:/tmp/report.text
--format=xml:file:/tmp/report.xml
--format=ps:file:/tmp/report.ps
--format=ps:print:lp
  • --ps=filename โ€” write a postscript label to filename. Peep the "LABEL PRINTING" section below. If filename isn't specified, the label goes to stdout.

Same as --format=ps, --format=ps:file:filename ๐Ÿ–จ๏ธ

  • --text=filename โ€” write a human-readable text report to filename. If filename isn't specified, the report goes to stdout.

Same as --format=human, --format=human:file:filename ๐Ÿ“

  • --xml=filename โ€” write an XML-formatted report to filename. If filename isn't specified, the report goes to stdout.

Same as --format=xml, --format=xml:file:filename ๐ŸŒˆ

  • --print=printer โ€” pipe a postscript label to lp or lpr, specifying the given printer. If the printer isn't specified, it uses the default from the Amanda configuration, or the system default printer.

Same as --format=ps:print, --format=ps:print:printer ๐Ÿ–จ๏ธโœจ

  • --mail-text=recipient โ€” send a human-readable text report to the given recipient via the mailer specified in the Amanda configuration. If the recipient isn't specified, this uses the mailto from the Amanda configuration.

Same as --format=human:mail, --format=human:mail:recipient ๐Ÿ“ง


๐Ÿ’œ Script Mode Options ๐Ÿ’œ

  • -i โ€” don't email the report. That's the whole thing. ๐Ÿ™ˆ
  • -M address โ€” mail the report to address instead of the mailto value from amanda.conf. ๐Ÿ“ฌ
  • -l logfile โ€” name of the log file to parse to generate the report. If a log file isn't specified, it defaults to the file $logdir/log, where $logdir is the log directory defined in amanda.conf. ๐Ÿ—‚๏ธ
  • -f outputfile โ€” normally amreport sends the report via e-mail to the mailto user as defined in the amanda.conf file. If outputfile is specified, then the report is put in outputfile instead. ๐Ÿ”ฅ
  • -p postscriptfile โ€” send the postscript output to the file postscriptfile instead of to the lpr(1) command. Heads up bestie: this option has an effect only if the lbl-templ directive is specified in amanda.conf. ๐Ÿ’€
  • --from-amdump โ€” force script mode. Has no other effect. Periodt. ๐Ÿ‘‘

more coming in part 2, don't go anywhere ๐Ÿ’–

๐Ÿ“Š TEXT REPORT FORMAT ๐Ÿ“Š

okay so Amanda's text report format is split into a bunch of sections, and lowkey some of them only show up if they actually have something to say. empty sections are likeโ€ฆ not invited to the party. ๐Ÿ’…

ngl, newer Amanda versions try to call a unit of storage a "volume", but amreport is still out here saying "tape" โ€” even when you're backing up to stuff that is very much not a tape. and that's on purpose bestie! it's so that scripts parsing amreport's output keep working. don't touch it, it's load-bearing. ๐Ÿซถ

๐ŸŒธ Summary

Hostname: bkserver
Org     : DailySet1
Config  : Daily
Date    : February 25, 2009

These dumps were to tape Daily-103.
The next tape Amanda expects to use is: Daily-142

FAILURE DUMP SUMMARY:
   jamon.slikon.local /var lev 0  FAILED [/bin/tar exited with status 2]

the summary section is the vibe check of the whole run โ€” it hands you the server hostname, the organization (which comes from the org config parameter), the configuration name, and the dump date. then it follows up with a description of the volumes and holding disk that got used, plus a rough estimate of the volume(s) Amanda's gonna reach for next run. ๐Ÿ”ฎ

and if anything unusual happened, you get brief notices about it right here too. consider it the group chat heads-up before the details drop.

๐Ÿ“ˆ Statistics

STATISTICS:
                          Total       Full      Incr.
                        --------   --------   --------
Estimate Time (hrs:min)    0:00
Run Time (hrs:min)         0:01
Dump Time (hrs:min)        0:00       0:00       0:00
Output Size (meg)           1.6        0.0        1.6
Original Size (meg)         1.6        0.0        1.6
Avg Compressed Size (%)   100.0      100.0      100.0   (level:#disks ...)
Filesystems Dumped            4          1          3   (1:3)
Avg Dump Rate (k/s)      1555.1      134.2     1787.3

Tape Time (hrs:min)        0:00       0:00       0:00
Tape Size (meg)             1.6        0.0        1.6
Tape Used (%)               5.5        0.1        5.4   (level:#disks ...)
Filesystems Taped             4          1          3   (1:3)
                                                        (level:#parts ...)
Parts Taped                   4          1          3   (1:3)
Avg Tp Write Rate (k/s)  143966    27624.3     151811

USAGE BY TAPE:
  Label            Time      Size      %  DLEs Parts
  metals-013       0:00     1650k    5.4     4     4

this section is the aggregate receipts for the whole run. the three columns break everything down into a total for all the data handled, then only full dumps, then only incremental dumps. and over in the right margin, amreport spills the breakdown of dump levels at the dumper AND at the taper. main character columns, honestly. ๐Ÿ‘‘

the rows mean the following:

  • Estimate Time โ€” the time the planner used to estimate dump sizes.
  • Run Time โ€” the total runtime, from the moment amdump got invoked all the way to its completion.
  • Dump Time โ€” the total time spent actually dumping clients.
  • Output Size โ€” total quantity of data dumped, after compression.
  • Original Size โ€” total quantity of data dumped, before compression.
  • Avg Compressed Size โ€” the compression ratio, calculated from the previous two rows.
  • Filesystems Dumped โ€” how many DLEs got dumped.
  • Avg Dump Rate โ€” the average speed at which clients produced data. โš ๏ธ heads up: for dumps done directly to a slow device instead of to holding disk, this rate may reflect a write speed that's bottlenecked by the device speed. so don't @ it.
  • Tape Time โ€” total time spent writing to storage volumes. this includes time spent changing tapes, including waiting for flush thresholds to be met. yes, that counts too. ๐Ÿ™ƒ
  • Tape Size โ€” total quantity of data written to storage volumes.
  • Tape Used โ€” the fraction of the total allocated storage (that's tapetype length times runtapes) that actually got used.
  • Filesystems Taped โ€” how many filesystems got written to storage. this number can be bigger or smaller than the number of filesystems dumped, because of flushes or dumps left sitting on holding disk. it's giving chaotic, but it's fine.
  • Parts Taped โ€” the number of split parts written to storage. if this number is very large, then bestieโ€ฆ your split size is probably too small. ๐Ÿšฉ
  • Avg Tp Write Rate โ€” the taper speed, based on the tape time and tape size above. note that because tape time includes time spent on stuff other than writing to tape, this does not necessarily reflect the device's real write speed. but it's still useful for capacity planning, because it gives you a realistic estimate of how quickly Amanda can write data to storage. slay for accurate vibes.

๐ŸŽ€ Usage by Tape

USAGE BY TAPE:
  Label          Time      Size      %  DLEs Parts
  Conf-001       0:00    20320k   66.2     1     4
  Conf-002       0:00     6470k   21.1     0     2

short and sweet: this is per-volume stats. time spent writing to the volume; bytes written to the volume; portion of the expected tape length used; number of DLEs started; and the total number of split parts written. little snapshot, big information. โœจ

๐Ÿ“ Notes

NOTES:
  taper: tape DAILY-37 kb 30720 fm 3 [OK]

this section collects any informational log messages from the run. most of them are self-explanatory, iykyk. the taper message in the example above is always present, and it's redundant to the previous section โ€” it's basically saying 30720 kb got written to "DAILY-37" in 3 files. that's it, that's the message. ๐Ÿ’–

๐Ÿ’€ Failure and Strange Details

FAILED DUMP DETAILS:

/--  jamon.slikon.local /var lev 0 FAILED [/bin/tar exited with status 2]
sendbackup: info BACKUP=APPLICATION
sendbackup: info APPLICATION=amgtar
sendbackup: info RECOVER_CMD=/usr/bin/gzip -dc |amgtar -f... -
sendbackup: info COMPRESS_SUFFIX=.gz
sendbackup: info end
? /bin/tar: ./gdm: Cannot savedir: Permission denied
| Total bytes written: 943831040 (901MiB, 4.9MiB/s)
| /bin/tar: Error exit delayed from previous errors
sendbackup: error [/bin/tar exited with status 2]
sendbackup: size 921710
sendbackup: end
\\--------

STRANGE DUMP DETAILS:

/--  bsdfw.slikon.local / lev 0 STRANGE
sendbackup: info BACKUP=APPLICATION
sendbackup: info APPLICATION=amgtar
sendbackup: info RECOVER_CMD=/usr/bin/gzip -dc |amgtar -f... -
sendbackup: info COMPRESS_SUFFIX=.gz
sendbackup: info end
| /bin/tar: ./tmp/.X11-unix/X0: socket ignored
| Total bytes written: 5530869760 (5.2GiB, 3.0MiB/s)
sendbackup: size 5401240
sendbackup: end
\\--------

this section expands on the failures and strange results that earlier sections flagged. in both cases, the details contain a message produced by the underlying backup tool โ€” GNU tar, in this example.

failed dumps have actually failed, and the reasons are usually pretty clear. ๐Ÿ˜ญ strange dumps, on the other hand, are considered successful by Amanda, but they contain messages that Amanda didn't recognize and which may be of interest to the operator. so likeโ€ฆ it worked, but why is it acting like that bestie. ๐Ÿ‘€

๐Ÿ“‹ Dump Summary

DUMP SUMMARY:
                                       DUMPER STATS                TAPER STATS
HOSTNAME     DISK        L ORIG-kB  OUT-kB  COMP%  MMM:SS   KB/s MMM:SS     KB/s
-------------------------- ------------------------------------- ---------------
strontium    /etc        1     270     270    --     0:00 1146.3   0:00 140918.6
strontium    -me/elantra 1      10      10    --     0:00   65.6   0:00   9033.4
strontium    /local      0      20      20    --     0:00  133.9   0:00  27624.3
strontium    -ository_13 1    1350    1350    --     0:01 2568.5   0:00 175006.5

the dump summary table gives you one row for every DLE that got processed during the run. the "L" column is the level of the dump. the rest of the columns split into dumper stats and taper stats. ๐Ÿฆ‹

the dumper stats give the original (before compression) and output (after compression) size of each dump, plus a compression ratio if it applies. the column labeled "MMM:SS" gives the time spent on that dump, and the next column is the calculated dump rate.

the taper stats give the time and the speed with which the dump got written to storage. that value is the sum of the times for each part, and because of that it does not include time spent switching volumes.


๐Ÿ–จ๏ธ LABEL PRINTING ๐Ÿ–จ๏ธ

Amanda can print postscript labels describing what's on the tape(s) written in a run. the labels are designed to be folded and inserted into the tape case along with the tape, or hole punched and put in a 3-ring binder. various label templates are provided so you can format the data for different tape sizes. aesthetic and functional, we love that. ๐Ÿ’…

the info printed varies slightly between label templates because of size constraints. labels contain one line for each host/file-system pair, and they may also contain the file number on the tape, the level of the dump, the original size of the dump, and the size of the (possibly compressed) tape file.

to enable labels, add the lbl-templ parameter to the tapetype definition in amanda.conf. โš ๏ธ and if you don't add that line to your tapetype definition, amreport will not print tape labels. so like, don't forget, fr fr.

you may use the printer keyword in amanda.conf to print to something other than the system default printer.

๐Ÿงš TEMPLATES ๐Ÿงš

Amanda provides label templates for the following tape types. these are pretty generic labels, and they should be easy to customize for other tape types or for your particular site's needs.

  • ExaByte 8mm tapes
  • DAT 4mm tapes
  • DLT tapes
  • 3-ring binder

the 3-ring binder type is the most generic one. it may be used to make a hardcopy log of the tapes. ๐Ÿ“š

๐Ÿšช EXIT CODE ๐Ÿšช

the exit code of amreport is the ORed value of:

 0  = success
 1  = error
 2  = a dle give strange message
 4  = a dle failed
 8  = Don't know the status of a dle (RESULT_MISSING in the report)
16 = tape error or no more tape

๐Ÿ‘€ SEE ALSO ๐Ÿ‘€

amanda(8), amflush(8)

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

๐ŸŒŸ AUTHOR ๐ŸŒŸ

Stefan G. Weichinger <sgw@amanda.org>


and that's the whole page bestie!! ๐ŸŽ€ this was Amanda 3.5.4, dated 08/26/2026 โ€” go forth and read your reports like the icon you are. no cap, you've got this. ๐Ÿ’–โœจ๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from