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>