Amdumpd protocol

From The Open Source Backup Wiki (Amanda, MySQL Backup, BackupPC)

Jump to: navigation, search

This page picks up where Amandad Service Protocol leaves off.

Contents

Startup

amdumpd is started from amandad, 'amdumpd' must be added in the amandad argument if it is executed by xinetd.

It processes its REQ packet and produces a REP packet for the Amanda Protocol as described in Amandad Service Protocol.

An amdumpd REQ packet looks like:

SERVICE amidxtaped
OPTIONS features=features;auth=auth;

All of the interesting specification of which data to send comes on the control connection, below.

amdumpd sets up one stream in its REP packet:

CONNECT CTL ctlfd\n\n

Control Connection

The control connection is bidirectional. Amdumpd receive command, execute them and reply:

command

CONFIG config
Specify the backup set, there is no reply if the config is valid, the connection is aborted if the config is invalid.
FEATURES features
Ask server to send its features string, server reply with
FEATURES features
LIST
List all diskname, server reply with a quoted diskname by line, last line is ENDLIST
/
"/quoted disklist/with space"
ENDLIST
DISK qdiskname
Disk to backup, server reply with:
DISK qdiskname added
DUMP
Start a backup, If the server is busy, it reply with:
BUSY
If the server do the backup, it reply 'DUMPING' at the start of the backup and reply 'ENDDUMP' when the dump is finished:
DUMPING
ENDDUMP
CHECK
Check client configuration, If the server is busy, it reply with:
BUSY
If the server do the check, it reply 'CHECKING' at the start of the check and reply 'ENDCHECK' when the check is finished:
CHECKING
ENDCHECK
END
Close the connection

DUMP command

The dump command execute the following command on the server if no DISK are specified:

amdump --no-taper --from-client config hostname

It execute the following if one or more DISK are specified:

amdump --no-taper --from-client config hostname qdiskname...

testing

You can test it with:

amservice -f /dev/null -s localhost local amdumpd
Personal tools