amzfs-sendrecv(8) Amanda script to create zfs sendrecv

DESCRIPTION

amzfs-sendrecv is an Amanda application implementing the Application API. It should not be run by users directly. It create a zfs snapshot of the filesystem and backup the snapshot with 'zfs send'. Snapshot are kept after the backup is done, this increase the disk space use on the client but it is necessary to be able do to incremental backup. If you want only full backup, you can disable this feature by setting the KEEP-SNAPSHOT property to 'NO'. Only the restoration of the complete backup is allowed, it is impossible to restore a single file.

The application is run as the amanda user, it must have many zfs privilege:

    zfs allow -ldu AMANDA_USER mount,create,rename,snapshot,destroy,send,receive FILESYSTEM

Some system doesn't have "zfs allow", but you can give the Amanda backup user the rights to manipulate ZFS filesystems by using the following command:

usermod -P "ZFS File System Management,ZFS Storage Management" AMANDA_USER
This will require that your run zfs under pfexec, set the PFEXEC property to YES.

The format of the diskdevice in the disklist (DLE) must be one of:

Desciption              Example
----------              -------
Mountpoint              /data
ZFS pool name           datapool
ZFS filesystem          datapool/database
ZFS logical volume      datapool/dbvol

The filesystem doesn't need to be mounted.

PROPERTIES

This section lists the properties that control amzfs-sendrecv's functionality. See amanda-applications(7) for information on the Application API, application configuration.

DF-PATH

Path to the 'df' binary, search in $PATH by default.

KEEP-SNAPSHOT

If "YES" (the default), snapshot are kept after the backup, if set to "NO" then snapshot are no kept and incremental backup will fail.

ZFS-PATH

Path to the 'zfs' binary, search in $PATH by default.

PFEXEC-PATH

Path to the 'pfexec' binary, search in $PATH by default.

PFEXEC

If "NO" (the default), pfexec is not used, if set to "YES" then pfexec is used.

EXAMPLE

In this example, a dumptype is defined to use amzfs-sendrecv application to backup a zfs filesystem.

 define application-tool amzfs_sendrecv {
   comment "amzfs-sendrecv"
   plugin "amzfs-sendrecv"
   #property "DF-PATH"  "/usr/sbin/df"
   #property "KEEP-SNAPSHOT" "YES"
   #property "ZFS-PATH" "/usr/sbin/zfs"
   #property "PFEXEC-PATH" "/usr/sbin/pfexec"
   #property "PFEXEC" "NO"
 }
 define dumptype user-zfs-sendrecv {
   program "APPLICATION"
   application "amzfs_sendrecv"
 }

AUTHOR

Jean-Louis Martineau <[email protected]>

Zmanda, Inc. (http://www.zmanda.com)