Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Nov 2004 11:26:27 -0500 (EST)
From:      Kelley Reynolds <kelley@insidesystems.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/73537: New port: sysutils/rsyncmanager Scheduler to solve resource constraints when running multiple periodic rsync/scps
Message-ID:  <200411041626.iA4GQRXl055114@kelley.insidesystems.net>
Resent-Message-ID: <200411041630.iA4GUWoL019933@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         73537
>Category:       ports
>Synopsis:       New port: sysutils/rsyncmanager Scheduler to solve resource constraints when running multiple periodic rsync/scps
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Nov 04 16:30:29 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Kelley Reynolds
>Release:        FreeBSD 4.10-RELEASE-p2 i386
>Organization:
Inside Systems, Inc.
>Environment:
System: FreeBSD kelley.insidesystems.net 4.10-RELEASE-p2 FreeBSD 4.10-RELEASE-p2 #1: Wed Sep 15 16:21:46 EDT 2004 root@swank.verbotenplanet.net:/usr/obj/usr/src/sys/SWANK i386
>Description:
	Rsyncmanager is intended to replace simple cron scripts for periodic rsync backup processes.
	Rather than write a script with lock files or allow several rsync processes to stack up on one
	another and consume excess resources, rsyncmanager allows scheduling of backups that eliminates
	the problem. It also provides a web reporting interface which indicates the status of each rsync.
	Additional features are pre- and post-rsync processing for use with database dumps, restores, etc
	to facilitate the creation of complete backup systems.
>How-To-Repeat:
>Fix:
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#       /usr/ports/sysutils/rsyncmanager
#       /usr/ports/sysutils/rsyncmanager/files
#       /usr/ports/sysutils/rsyncmanager/files/rsyncmanager.sh
#       /usr/ports/sysutils/rsyncmanager/Makefile
#       /usr/ports/sysutils/rsyncmanager/pkg-plist
#       /usr/ports/sysutils/rsyncmanager/pkg-descr
#       /usr/ports/sysutils/rsyncmanager/distinfo
#       /usr/ports/sysutils/rsyncmanager/pkg-message
#
echo c - /usr/ports/sysutils/rsyncmanager
mkdir -p /usr/ports/sysutils/rsyncmanager > /dev/null 2>&1
echo c - /usr/ports/sysutils/rsyncmanager/files
mkdir -p /usr/ports/sysutils/rsyncmanager/files > /dev/null 2>&1
echo x - /usr/ports/sysutils/rsyncmanager/files/rsyncmanager.sh
sed 's/^X//' >/usr/ports/sysutils/rsyncmanager/files/rsyncmanager.sh << 
'END-of-/usr/ports/sysutils/rsyncmanager/files/rsyncmanager.sh'
X#!/bin/sh
X#
X# PROVIDE: rsyncmanager
X# REQUIRE: DAEMON
X# KEYWORD: FreeBSD
X#
X# Add the following line to /etc/rc.conf to enable rsyncmanager:
X# rsyncmanager_enable (bool):      Set to "NO" by default.
X#                             Set it to "YES" to enable rsyncmanager
X# rsyncmanager_flags (str):        Set to "-C -c %%PREFIX%%/etc/rsyncmanager.conf" by default.
X#                             Extra flags passed to start command
X#
X. %%RC_SUBR%%
X
Xname="rsyncmanager"
Xrcvar=`set_rcvar`
X
Xcommand="%%PREFIX%%/bin/rsyncmanager.rb"
Xpidfile="/var/run/rsyncmanager.pid"
Xcommand_interpreter="%%RUBY_WITHOUT_SUFFIX%%"
Xrequired_files=%%PREFIX%%/etc/rsyncmanager.xml
X
X[ -z "$rsyncmanager_enable" ]       && rsyncmanager_enable="NO"
X[ -z "$rsyncmanager_flags" ]        && rsyncmanager_flags="-c %%PREFIX%%/etc/rsyncmanager.xml"
X
Xload_rc_config $name
X
Xsig_stop=-TERM
X
Xextra_commands="reload"
Xrun_rc_command "$1"
END-of-/usr/ports/sysutils/rsyncmanager/files/rsyncmanager.sh
echo x - /usr/ports/sysutils/rsyncmanager/Makefile
sed 's/^X//' >/usr/ports/sysutils/rsyncmanager/Makefile << 'END-of-/usr/ports/sysutils/rsyncmanager/Makefile'
X# New ports collection makefile for: rsyncmanager
X# Date created:                29 October 2004
X# Whom:                Kelley Reynolds <kelley@insidesystems.net>
X#
X# $FreeBSD$
X#
X
XPORTNAME=      rsyncmanager
XPORTVERSION=   1.0
XPORTREVISION=  0
XCATEGORIES=    sysutils
XMASTER_SITES=  ftp://ftp.verbotenplanet.net/rsyncmanager/
X
XMAINTAINER=    kelley@insidesystems.net
XCOMMENT=       Flexible rsync resource manager daemon written in ruby
X
XRUN_DEPENDS=   rsync:${PORTSDIR}/net/rsync
X
XWRKSRC=                ${WRKDIR}/${PORTNAME}
X
XUSE_RUBY=      yes
XUSE_RUBY_FEATURES=     1.8
X
XNO_BUILD=      yes
X
XPORTDOC_BASE=  README
X
XUSE_RC_SUBR=   yes
XSED_SCRIPT=    -e 's,%%RC_SUBR%%,${RC_SUBR},g' \
X               -e 's,%%PREFIX%%,${PREFIX},g' \
X               -e 's,%%RUBY_WITHOUT_SUFFIX%%,${RUBY_WITHOUT_SUFFIX},g'
X
Xpre-install:
X       @${SED} ${SED_SCRIPT} ${FILESDIR}/${PORTNAME}.sh >${WRKDIR}/${PORTNAME}.sh
X
Xdo-install:
X       ${INSTALL_SCRIPT} ${WRKSRC}/${PORTNAME}.rb ${PREFIX}/bin/${PORTNAME}.rb
X       ${INSTALL_DATA} ${WRKSRC}/examples/${PORTNAME}.xml ${PREFIX}/etc/${PORTNAME}.xml.sample
X       ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME}.sh ${PREFIX}/etc/rc.d/${PORTNAME}.sh
X
X.if !defined(NOPORTDOCS)
X       @${MKDIR} ${DESTDIR}${DOCSDIR}
X.for docfile in ${PORTDOC_BASE}
X       @${INSTALL_DATA} ${WRKSRC}/${docfile} ${DESTDIR}${DOCSDIR}
X.endfor
X.endif
X
Xpost-install:
X       @${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.mk>
END-of-/usr/ports/sysutils/rsyncmanager/Makefile
echo x - /usr/ports/sysutils/rsyncmanager/pkg-plist
sed 's/^X//' >/usr/ports/sysutils/rsyncmanager/pkg-plist << 'END-of-/usr/ports/sysutils/rsyncmanager/pkg-plist'
Xbin/rsyncmanager.rb
Xetc/rc.d/rsyncmanager.sh
Xetc/rsyncmanager.xml.sample
X%%PORTDOCS%%%%DOCSDIR%%/README
X%%PORTDOCS%%@unexec rmdir %D/%%DOCSDIR%% 2>/dev/null || true
END-of-/usr/ports/sysutils/rsyncmanager/pkg-plist
echo x - /usr/ports/sysutils/rsyncmanager/pkg-descr
sed 's/^X//' >/usr/ports/sysutils/rsyncmanager/pkg-descr << 'END-of-/usr/ports/sysutils/rsyncmanager/pkg-descr'
XRsyncmanager is a daemon that run a large set of rsyncs
Xand make sure that excess resource consumption does not
Xcause the rsyncs to clobber one another. Useful for
Xthe crontab as a method of running rsync backup scripts.
X
X- Kelley Reynolds
Xkelley@insidesystems.net
END-of-/usr/ports/sysutils/rsyncmanager/pkg-descr
echo x - /usr/ports/sysutils/rsyncmanager/distinfo
sed 's/^X//' >/usr/ports/sysutils/rsyncmanager/distinfo << 'END-of-/usr/ports/sysutils/rsyncmanager/distinfo'
XMD5 (rsyncmanager-1.0.tar.gz) = ce5e1c134aad17f78e4ec0bc1bae9893
XSIZE (rsyncmanager-1.0.tar.gz) = 10354
END-of-/usr/ports/sysutils/rsyncmanager/distinfo
echo x - /usr/ports/sysutils/rsyncmanager/pkg-message
sed 's/^X//' >/usr/ports/sysutils/rsyncmanager/pkg-message << 'END-of-/usr/ports/sysutils/rsyncmanager/pkg-message'
X
XIMPORTANT NOTE:
X===============
X
XTo use rsyncmanager, be sure to include
X
Xrsyncmanager_enable="YES"
X
Xin rc.conf
X
END-of-/usr/ports/sysutils/rsyncmanager/pkg-message
exit
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200411041626.iA4GQRXl055114>