summaryrefslogtreecommitdiff
path: root/sysutils
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2009-02-11 21:20:03 +0000
committerCy Schubert <cy@FreeBSD.org>2009-02-11 21:20:03 +0000
commit71c00a06d857ba2327a846b656f30c96c3f13680 (patch)
tree6b29c9c77e780eecc7297212984c8957435553a0 /sysutils
parentFiddle a bit with __FreeBSD_version after strndup(3) was MFCed. (diff)
Zetaback is a thin-agent based ZFS backup tool. It is designed to:
* run from a central host * scan clients for new ZFS filesystems * manage varying desired backup intervals (per host) for o full backups o incremental backups * maintain varying retention policies (per host) * summarize existing backups * restore any host:fs backup at any point in time to any target host
Notes
Notes: svn path=/head/; revision=228080
Diffstat (limited to 'sysutils')
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/zetaback/Makefile26
-rw-r--r--sysutils/zetaback/distinfo3
-rw-r--r--sysutils/zetaback/files/patch-zetaback.in54
-rw-r--r--sysutils/zetaback/pkg-descr15
-rw-r--r--sysutils/zetaback/pkg-plist6
6 files changed, 105 insertions, 0 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 009ccf38597d..c3968a042f0a 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -871,6 +871,7 @@
SUBDIR += yawho
SUBDIR += zccron
SUBDIR += zeroer
+ SUBDIR += zetaback
SUBDIR += zfs-replicate
SUBDIR += zfs-snapshot-mgmt
SUBDIR += zidrav
diff --git a/sysutils/zetaback/Makefile b/sysutils/zetaback/Makefile
new file mode 100644
index 000000000000..c43d19792bec
--- /dev/null
+++ b/sysutils/zetaback/Makefile
@@ -0,0 +1,26 @@
+# New ports collection makefile for: zetaback
+# Date created: Wed Aug 13 21:50:57 PDT 2008
+# Whom: Cy Schubert <cy@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= zetaback
+PORTVERSION= 1.0.2
+CATEGORIES= sysutils
+MASTER_SITES= https://labs.omniti.com/zetaback/tags/1.0/
+
+MAINTAINER= cy@FreeBSD.org
+COMMENT= ZFS backup and recovery management system
+
+USE_PERL5_RUN= YES
+GNU_CONFIGURE= yes
+USE_AUTOTOOLS= autoconf:262
+
+MAN1= zetaback.1 zetaback_agent.1
+
+post-install:
+ @${CP} ${PREFIX}/etc/zetaback.conf.sample ${PREFIX}/etc/zetaback.conf
+ @${CP} ${PREFIX}/etc/zetaback_agent.conf.sample ${PREFIX}/etc/zetaback_agent.conf
+
+.include <bsd.port.mk>
diff --git a/sysutils/zetaback/distinfo b/sysutils/zetaback/distinfo
new file mode 100644
index 000000000000..f7f755b8e21a
--- /dev/null
+++ b/sysutils/zetaback/distinfo
@@ -0,0 +1,3 @@
+MD5 (zetaback-1.0.2.tar.gz) = f6548ef8f0a10473d6f7c0bf054c67be
+SHA256 (zetaback-1.0.2.tar.gz) = b1707e8c885ef5ba7202127be64da6401f676d27e339b2107a496dc120be5863
+SIZE (zetaback-1.0.2.tar.gz) = 37738
diff --git a/sysutils/zetaback/files/patch-zetaback.in b/sysutils/zetaback/files/patch-zetaback.in
new file mode 100644
index 000000000000..b485e23a4689
--- /dev/null
+++ b/sysutils/zetaback/files/patch-zetaback.in
@@ -0,0 +1,54 @@
+--- zetaback.in.orig 2008-12-16 13:23:27.000000000 -0800
++++ zetaback.in 2009-02-11 12:39:49.596107102 -0800
+@@ -319,11 +319,15 @@
+ The retention time (in seconds) for backups. Defaults to (14 * 86400), or two
+ weeks.
+
++=item compressionprogram
++
++Compress files using gzip or bzip2. Defaults to gzip.
++
+ =item compressionlevel
+
+-Compress files using gzip at the specified compression level. 0 means no
+-compression. Accepted values are 1-9. Defaults to 1 (fastest/minimal
+-compression.)
++Compress files using gzip or bzip2 at the specified compression level.
++0 means no compression. Accepted values are 1-9. Defaults to 1
++(fastest/minimal compression.)
+
+ =item ssh_config
+
+@@ -525,9 +529,18 @@
+ print "Using custom ssh config file: $ssh_config\n" if($DEBUG);
+
+ # Do it. yeah.
++ my $cp = config_get($host, 'compressionprogram');
++ if ($cp != "bzip2" && $cp != "gzip" && $cp != "") {
++ die "zfs_full_backup: unsupported compression program specified\n";
++ } elsif ($cp == "") {
++ $cp = "gzip";
++ $cl = 1;
++ } else {
++ $cl = 1;
++ }
+ my $cl = config_get($host, 'compressionlevel');
+ if ($cl >= 1 && $cl <= 9) {
+- open(LBACKUP, "|gzip -$cl >$store/.$dumpfile") ||
++ open(LBACKUP, "|$cp -$cl >$store/.$dumpfile") ||
+ die "zfs_full_backup: cannot create dump\n";
+ } else {
+ open(LBACKUP, ">$store/.$dumpfile") ||
+@@ -799,10 +812,10 @@
+ }
+ print " => piping $file to $command\n" if($DEBUG);
+ if($NEUTERED) {
+- print "gzip -dfc $file | ssh $ssh_config $host $command\n" if ($DEBUG);
++ print "bzip2 -dfc $file | gzip -dfc | ssh $ssh_config $host $command\n" if ($DEBUG);
+ }
+ else {
+- open(DUMP, "gzip -dfc $file |");
++ open(DUMP, "bzip2 -dfc $file | gzip -dfc |");
+ eval {
+ open(RECEIVER, "| ssh $ssh_config $host $command");
+ my $buffer;
diff --git a/sysutils/zetaback/pkg-descr b/sysutils/zetaback/pkg-descr
new file mode 100644
index 000000000000..72aee8997221
--- /dev/null
+++ b/sysutils/zetaback/pkg-descr
@@ -0,0 +1,15 @@
+hdup is a little, spiffy, backup tool.
+
+Features are:
+- simple to use
+- small and versatile backup program
+- support for incremental backups
+- support for backups over the network (with ssh)
+- support for network restore (with ssh)
+- support for encrypted backups (using mcrypt, gnupg)
+- support for split up archives (called chunks)
+- support for .nobackup files (to exclude certain directories)
+- flexible regular expression based include/exclude mechanism
+- designed to be run from cron
+
+WWW: http://www.miek.nl/projects/hdup2
diff --git a/sysutils/zetaback/pkg-plist b/sysutils/zetaback/pkg-plist
new file mode 100644
index 000000000000..2334c239dbca
--- /dev/null
+++ b/sysutils/zetaback/pkg-plist
@@ -0,0 +1,6 @@
+bin/zetaback
+bin/zetaback_agent
+etc/zetaback.conf
+etc/zetaback.conf.sample
+etc/zetaback_agent.conf
+etc/zetaback_agent.conf.sample