[Midnightbsd-cvs] mports [15448] trunk/sysutils: Introduce more zfs related scripts for snapshots and replication.
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Mon Sep 16 21:04:25 EDT 2013
Revision: 15448
http://svnweb.midnightbsd.org/mports/?rev=15448
Author: laffer1
Date: 2013-09-16 21:04:24 -0400 (Mon, 16 Sep 2013)
Log Message:
-----------
Introduce more zfs related scripts for snapshots and replication.
Added Paths:
-----------
trunk/sysutils/zfs-periodic/
trunk/sysutils/zfs-periodic/Makefile
trunk/sysutils/zfs-periodic/distinfo
trunk/sysutils/zfs-periodic/pkg-descr
trunk/sysutils/zfs-periodic/pkg-message
trunk/sysutils/zfs-replicate/
trunk/sysutils/zfs-replicate/Makefile
trunk/sysutils/zfs-replicate/distinfo
trunk/sysutils/zfs-replicate/pkg-descr
trunk/sysutils/zfs-snapshot-clean/
trunk/sysutils/zfs-snapshot-clean/Makefile
trunk/sysutils/zfs-snapshot-clean/distinfo
trunk/sysutils/zfs-snapshot-clean/pkg-descr
trunk/sysutils/zfs-snapshot-mgmt/
trunk/sysutils/zfs-snapshot-mgmt/Makefile
trunk/sysutils/zfs-snapshot-mgmt/distinfo
trunk/sysutils/zfs-snapshot-mgmt/files/
trunk/sysutils/zfs-snapshot-mgmt/files/patch-zfs-snapshot-mgmt
trunk/sysutils/zfs-snapshot-mgmt/files/pkg-message.in
trunk/sysutils/zfs-snapshot-mgmt/pkg-deinstall
trunk/sysutils/zfs-snapshot-mgmt/pkg-descr
trunk/sysutils/zfs-snapshot-mgmt/pkg-plist
Added: trunk/sysutils/zfs-periodic/Makefile
===================================================================
--- trunk/sysutils/zfs-periodic/Makefile (rev 0)
+++ trunk/sysutils/zfs-periodic/Makefile 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,48 @@
+# $MidnightBSD$
+
+PORTNAME= zfs-periodic
+PORTVERSION= 1.0.20130213
+CATEGORIES= sysutils
+
+MAINTAINER= ports at MidnightBSD.org
+COMMENT= Simple way of maintaining zfs snapshots using the periodic system
+
+LICENSE= unknown
+
+USE_GITHUB= yes
+GH_ACCOUNT= ross
+GH_COMMIT= 9ffa662
+GH_TAGNAME= ${GH_COMMIT}
+
+NO_BUILD= yes
+
+PERIODIC_DIRS= etc/periodic/hourly etc/periodic/daily \
+ etc/periodic/weekly etc/periodic/monthly \
+ etc/periodic
+
+PERIODIC_FILES= etc/periodic/hourly/000.zfs-snapshot \
+ etc/periodic/daily/000.zfs-snapshot \
+ etc/periodic/weekly/000.zfs-snapshot \
+ etc/periodic/monthly/000.zfs-snapshot
+
+PLIST_FILES= ${PERIODIC_FILES} bin/zfs-snapshot
+PLIST_DIRSTRY= ${PERIODIC_DIRS}
+
+post-patch:
+.for _file in ${PERIODIC_FILES}
+ @${REINPLACE_CMD} -e "s|/etc/periodic/zfs-snapshot|${PREFIX}/bin/zfs-snapshot|" \
+ ${WRKSRC}/${_file}
+.endfor
+
+do-install:
+ @${INSTALL_SCRIPT} ${WRKSRC}/etc/periodic/zfs-snapshot ${PREFIX}/bin
+
+.for _dir in ${PERIODIC_DIRS}
+ @${MKDIR} ${PREFIX}/${_dir}
+.endfor
+
+.for _file in ${PERIODIC_FILES}
+ @${INSTALL_SCRIPT} ${WRKSRC}/${_file} ${PREFIX}/${_file}
+.endfor
+
+.include <bsd.port.mk>
Added: trunk/sysutils/zfs-periodic/distinfo
===================================================================
--- trunk/sysutils/zfs-periodic/distinfo (rev 0)
+++ trunk/sysutils/zfs-periodic/distinfo 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,2 @@
+SHA256 (zfs-periodic-1.0.20130213.tar.gz) = 58f2170979db5a97c895f4fb6e578078bad5dc3efa29dd6c818c98c1bface53f
+SIZE (zfs-periodic-1.0.20130213.tar.gz) = 2518
Added: trunk/sysutils/zfs-periodic/pkg-descr
===================================================================
--- trunk/sysutils/zfs-periodic/pkg-descr (rev 0)
+++ trunk/sysutils/zfs-periodic/pkg-descr 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,4 @@
+Scripts that uses the periodic system to create and manage zfs
+snapshots. Easily configured via /etc/periodic.conf
+
+WWW: http://www.neces.com/blog/technology/integrating-freebsd-zfs-and-periodic-snapshots-and-scrubs
Added: trunk/sysutils/zfs-periodic/pkg-message
===================================================================
--- trunk/sysutils/zfs-periodic/pkg-message (rev 0)
+++ trunk/sysutils/zfs-periodic/pkg-message 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,22 @@
+
+ In order to enable periodic snapshots you need
+ to add these lines to your /etc/periodic.conf
+
+ hourly_output="root"
+ hourly_show_success="NO"
+ hourly_show_info="YES"
+ hourly_show_badconfig="NO"
+ hourly_zfs_snapshot_enable="YES"
+ hourly_zfs_snapshot_pools="tank"
+ hourly_zfs_snapshot_keep=6
+ daily_zfs_snapshot_enable="YES"
+ daily_zfs_snapshot_pools="tank"
+ daily_zfs_snapshot_keep=7
+ weekly_zfs_snapshot_enable="YES"
+ weekly_zfs_snapshot_pools="tank"
+ weekly_zfs_snapshot_keep=5
+ monthly_zfs_snapshot_enable="YES"
+ monthly_zfs_scrub_enable="YES"
+ monthly_zfs_scrub_pools="tank"
+ monthly_zfs_snapshot_pools="tank"
+ monthly_zfs_snapshot_keep=2'
Added: trunk/sysutils/zfs-replicate/Makefile
===================================================================
--- trunk/sysutils/zfs-replicate/Makefile (rev 0)
+++ trunk/sysutils/zfs-replicate/Makefile 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,26 @@
+# $MidnightBSD$
+
+PORTNAME= zfs-replicate
+PORTVERSION= 0.7
+CATEGORIES= sysutils
+MASTER_SITES= http://blogs.sun.com/constantin/resource/
+DISTNAME= ${PORTNAME}_v${PORTVERSION}
+
+MAINTAINER= ports at MidnightBSD.org
+COMMENT= ZFS Snapshot Replication Script
+
+LICENSE= cddl
+
+NO_WRKSUBDIR= yes
+NO_BUILD= yes
+USE_BZIP2= yes
+
+PLIST_FILES= sbin/zfs-replicate
+
+do-patch:
+ @${REINPLACE_CMD} -e 's|/usr/sbin/zfs|/sbin/zfs|g' ${WRKSRC}/zfs-replicate_v${PORTVERSION}
+
+do-install:
+ ${INSTALL_SCRIPT} ${WRKSRC}/zfs-replicate_v${PORTVERSION} ${PREFIX}/sbin/zfs-replicate
+
+.include <bsd.port.mk>
Added: trunk/sysutils/zfs-replicate/distinfo
===================================================================
--- trunk/sysutils/zfs-replicate/distinfo (rev 0)
+++ trunk/sysutils/zfs-replicate/distinfo 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,2 @@
+SHA256 (zfs-replicate_v0.7.tar.bz2) = 4ecd8ae205e90294bc5d0f2d56dfcc375499901f025e2e1926628c4e01ccd41e
+SIZE (zfs-replicate_v0.7.tar.bz2) = 4020
Added: trunk/sysutils/zfs-replicate/pkg-descr
===================================================================
--- trunk/sysutils/zfs-replicate/pkg-descr (rev 0)
+++ trunk/sysutils/zfs-replicate/pkg-descr 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,4 @@
+zfs-replicate makes migrating a few filesystems and many
+snapshots to a new zpool more easier.
+
+WWW: http://blogs.sun.com/constantin/entry/useful_zfs_snapshot_replicator_script
Added: trunk/sysutils/zfs-snapshot-clean/Makefile
===================================================================
--- trunk/sysutils/zfs-snapshot-clean/Makefile (rev 0)
+++ trunk/sysutils/zfs-snapshot-clean/Makefile 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,20 @@
+# $MidnightBSD$
+
+PORTNAME= zfs-snapshot-clean
+PORTVERSION= 0.1.3
+CATEGORIES= sysutils
+MASTER_SITES= http://cloud.github.com/downloads/knu/${PORTNAME}/ \
+ ftp://ftp.iDaemons.org/pub/distfiles/
+
+MAINTAINER= ports at MidnightBSD.org
+COMMENT= A tool to sieve ZFS snapshots as per given spec a la 'pdumpfs-clean'
+
+LICENSE= bsd2
+
+NO_BUILD= yes
+PLIST_FILES= sbin/${PORTNAME}
+
+do-install:
+ ${INSTALL_SCRIPT} ${WRKSRC}/${PORTNAME} ${PREFIX}/sbin/
+
+.include <bsd.port.mk>
Added: trunk/sysutils/zfs-snapshot-clean/distinfo
===================================================================
--- trunk/sysutils/zfs-snapshot-clean/distinfo (rev 0)
+++ trunk/sysutils/zfs-snapshot-clean/distinfo 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,2 @@
+SHA256 (zfs-snapshot-clean-0.1.3.tar.gz) = ef080e0e07090bde4841736e8e4ed7a714fcd1f7bc4441139e8d065a61c671a5
+SIZE (zfs-snapshot-clean-0.1.3.tar.gz) = 2984
Added: trunk/sysutils/zfs-snapshot-clean/pkg-descr
===================================================================
--- trunk/sysutils/zfs-snapshot-clean/pkg-descr (rev 0)
+++ trunk/sysutils/zfs-snapshot-clean/pkg-descr 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,16 @@
+zfs-snapshot-clean
+------------------
+
+This is a tool to sieve ZFS snapshots as per given spec a la
+`pdumpfs-clean'.
+
+Typical usage is as follows:
+
+ for vol in zpool/home zpool/var; do
+ zfs snapshot "$vol@$(date +%Y-%m-%d)" && zfs-snapshot-clean "$vol"
+ done
+
+Run `zfs-snapshot-clean -h' for details.
+
+Author: Akinori MUSHA <knu at iDaemons.org>
+WWW: http://github.com/knu/zfs-snapshot-clean
Added: trunk/sysutils/zfs-snapshot-mgmt/Makefile
===================================================================
--- trunk/sysutils/zfs-snapshot-mgmt/Makefile (rev 0)
+++ trunk/sysutils/zfs-snapshot-mgmt/Makefile 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,37 @@
+# $MidnightBSD$
+
+PORTNAME= zfs-snapshot-mgmt
+PORTVERSION= 20090201
+CATEGORIES= sysutils
+MASTER_SITES= http://marcin.studio4plus.com/files/
+
+MAINTAINER= ports at MidnightBSD.org
+COMMENT= Automatic ZFS snapshot management tool
+
+LICENSE= bsd2
+
+USE_RUBY= yes
+RUBY_NO_BUILD_DEPENDS= yes
+RUBY_SHEBANG_FILES= zfs-snapshot-mgmt
+
+NO_BUILD= yes
+MAN8= zfs-snapshot-mgmt.8
+
+SUB_FILES= pkg-message
+
+post-patch: .SILENT
+ ${FIND} ${WRKSRC} -type f -exec ${REINPLACE_CMD} \
+ -e 's|/usr/local|${PREFIX}|g' {} +
+
+do-install:
+ @${INSTALL_SCRIPT} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin
+ @${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.8 ${MANPREFIX}/man/man8
+ @${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.conf.sample ${PREFIX}/etc
+
+post-install:
+ @if [ ! -f ${PREFIX}/etc/${PORTNAME}.conf ]; then \
+ ${CP} -p ${PREFIX}/etc/${PORTNAME}.conf.sample ${PREFIX}/etc/${PORTNAME}.conf ; \
+ fi
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.mk>
Added: trunk/sysutils/zfs-snapshot-mgmt/distinfo
===================================================================
--- trunk/sysutils/zfs-snapshot-mgmt/distinfo (rev 0)
+++ trunk/sysutils/zfs-snapshot-mgmt/distinfo 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,2 @@
+SHA256 (zfs-snapshot-mgmt-20090201.tar.gz) = 972f6eb51cc08dd2ab83491cb8942e310a9838f953edb7471df462446b59a8c4
+SIZE (zfs-snapshot-mgmt-20090201.tar.gz) = 4903
Added: trunk/sysutils/zfs-snapshot-mgmt/files/patch-zfs-snapshot-mgmt
===================================================================
--- trunk/sysutils/zfs-snapshot-mgmt/files/patch-zfs-snapshot-mgmt (rev 0)
+++ trunk/sysutils/zfs-snapshot-mgmt/files/patch-zfs-snapshot-mgmt 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,32 @@
+--- zfs-snapshot-mgmt~
++++ zfs-snapshot-mgmt
+@@ -154,7 +154,11 @@ class FSInfo
+ end
+
+ def pool
++ if name["/"]
+ name[/\A.*?\//].chop
++ else
++ name
++ end
+ end
+
+ private
+@@ -175,7 +179,7 @@ private
+
+ end
+
+-class Config
++class ZConfig
+ attr_reader :snapshot_prefix, :filesystems, :pools
+
+ def initialize(value)
+@@ -194,7 +198,7 @@ class Config
+
+ config_yaml = File.open(CONFIG_FILE_NAME).read(CONFIG_SIZE_MAX)
+ die "Config file too long" if config_yaml.nil?
+-config = Config.new(YAML::load(config_yaml))
++config = ZConfig.new(YAML::load(config_yaml))
+
+ now_minutes = Time.now.to_i / 60
+
Added: trunk/sysutils/zfs-snapshot-mgmt/files/pkg-message.in
===================================================================
--- trunk/sysutils/zfs-snapshot-mgmt/files/pkg-message.in (rev 0)
+++ trunk/sysutils/zfs-snapshot-mgmt/files/pkg-message.in 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,9 @@
+
+To actually turn on the automatic snapshots you have to do the following:
+
+1. Add an appropriate crontab entry, e.g.:
+
+ echo "*/5 * * * * root %%PREFIX%%/bin/zfs-snapshot-mgmt" >> /etc/crontab
+
+See zfs-snapshot-mgmt(8) manpage for more details.
+
Added: trunk/sysutils/zfs-snapshot-mgmt/pkg-deinstall
===================================================================
--- trunk/sysutils/zfs-snapshot-mgmt/pkg-deinstall (rev 0)
+++ trunk/sysutils/zfs-snapshot-mgmt/pkg-deinstall 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,12 @@
+#!/bin/sh
+# $FreeBSD$
+#
+
+if [ "$2" != "POST-DEINSTALL" ]; then
+ exit 0
+fi
+
+echo
+echo "Remember to remove zfs-snapshot-mgmt entry from cron configuration."
+echo -n "Otherwise the system will be constantly trying to call the deinstalled"
+echo " script."
Added: trunk/sysutils/zfs-snapshot-mgmt/pkg-descr
===================================================================
--- trunk/sysutils/zfs-snapshot-mgmt/pkg-descr (rev 0)
+++ trunk/sysutils/zfs-snapshot-mgmt/pkg-descr 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,3 @@
+A simple ruby script for automating creation and removal of ZFS snapshots.
+
+WWW: http://marcin.studio4plus.com/en/zfs-file-history/howto.html
Added: trunk/sysutils/zfs-snapshot-mgmt/pkg-plist
===================================================================
--- trunk/sysutils/zfs-snapshot-mgmt/pkg-plist (rev 0)
+++ trunk/sysutils/zfs-snapshot-mgmt/pkg-plist 2013-09-17 01:04:24 UTC (rev 15448)
@@ -0,0 +1,4 @@
+bin/zfs-snapshot-mgmt
+ at unexec if cmp -s %D/etc/zfs-snapshot-mgmt.conf.sample %D/etc/zfs-snapshot-mgmt.conf; then rm -f %D/etc/zfs-snapshot-mgmt.conf; fi
+etc/zfs-snapshot-mgmt.conf.sample
+ at exec if [ ! -f %D/etc/zfs-snapshot-mgmt.conf ] ; then cp -p %D/%F %B/zfs-snapshot-mgmt.conf; fi
More information about the Midnightbsd-cvs
mailing list