From 4c4e845dd8c855bcedb2e0bbd89dfe3f9776784c Mon Sep 17 00:00:00 2001 From: Victor LABORIE Date: Wed, 11 Jan 2017 17:10:56 +0100 Subject: [PATCH] Initial version of Debian package --- .gitignore | 9 +++ bkctld | 6 +- tpl/evobackup.conf => debian/bkctld.default | 4 +- tpl/evobackup => debian/bkctld.init | 0 debian/changelog | 5 ++ debian/compat | 1 + debian/control | 9 +++ debian/install | 2 + debian/manpages | 1 + debian/rules | 4 + docs/bkctld.8 | 86 +++++++++++++++++++++ install.sh | 35 --------- 12 files changed, 122 insertions(+), 40 deletions(-) create mode 100644 .gitignore rename tpl/evobackup.conf => debian/bkctld.default (66%) rename tpl/evobackup => debian/bkctld.init (100%) create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/install create mode 100644 debian/manpages create mode 100755 debian/rules create mode 100644 docs/bkctld.8 delete mode 100755 install.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..06c4912 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +debian/* +!debian/changelog +!debian/compat +!debian/control +!debian/rules +!debian/install +!debian/bkctld.default +!debian/bkctld.init +!debian/manpages diff --git a/bkctld b/bkctld index b8178aa..09d27cd 100755 --- a/bkctld +++ b/bkctld @@ -386,7 +386,7 @@ sub_sync() { fi if [ -z "${NODE}" ]; then - echo "You must define \$NODE in /etc/default/evobackup !" >&2 + echo "You must define \$NODE in /etc/default/bkctld !" >&2 exit 1 fi jail=$1 @@ -504,8 +504,8 @@ main() { echo "Error, you need to be root to run $0 !" >&2 exit 1 fi - if [ -f /etc/default/evobackup ]; then - source /etc/default/evobackup + if [ -f /etc/default/bkctld ]; then + source /etc/default/bkctld fi [ -z "${CONFDIR}" ] && CONFDIR='/etc/evobackup' [ -z "${JAILDIR}" ] && JAILDIR='/backup/jails' diff --git a/tpl/evobackup.conf b/debian/bkctld.default similarity index 66% rename from tpl/evobackup.conf rename to debian/bkctld.default index 912dced..f0f8f3c 100644 --- a/tpl/evobackup.conf +++ b/debian/bkctld.default @@ -1,9 +1,9 @@ # Defaults for bkctld command (evobackup) -# sourced by /usr/sbin/bkctld or /usr/local/sbin/bkctld +# sourced by /usr/sbin/bkctld and /etc/init.d/bkctld CONFDIR='/etc/evobackup' JAILDIR='/backup/jails' INCDIR='/backup/incs' -TPLDIR='/usr/local/share/evobackup' +TPLDIR='/usr/share/evobackup' LOG_DIR='/var/log/bkctld' FIREWALL_RULES='/etc/firewall.rc.jails' diff --git a/tpl/evobackup b/debian/bkctld.init similarity index 100% rename from tpl/evobackup rename to debian/bkctld.init diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..1a17479 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +bkctld (1.0) UNRELEASED; urgency=medium + + * Initial release + + -- Victor Laborie Wed, 11 Jan 2017 16:51:48 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..7f8f011 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +7 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..34001d0 --- /dev/null +++ b/debian/control @@ -0,0 +1,9 @@ +Source: bkctld +Section: utils +Priority: optional +Maintainer: vlaborie@evolix.fr + +Package: bkctld +Architecture: all +Depends: coreutils, openssh-server, btrfs-tools, rsync +Description: Tool for manage rsync jail for backup diff --git a/debian/install b/debian/install new file mode 100644 index 0000000..e498b29 --- /dev/null +++ b/debian/install @@ -0,0 +1,2 @@ +bkctld usr/sbin +tpl/* usr/share/bkctld diff --git a/debian/manpages b/debian/manpages new file mode 100644 index 0000000..3b64a00 --- /dev/null +++ b/debian/manpages @@ -0,0 +1 @@ +docs/bkctld.8 diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..2d33f6a --- /dev/null +++ b/debian/rules @@ -0,0 +1,4 @@ +#!/usr/bin/make -f + +%: + dh $@ diff --git a/docs/bkctld.8 b/docs/bkctld.8 new file mode 100644 index 0000000..1785b76 --- /dev/null +++ b/docs/bkctld.8 @@ -0,0 +1,86 @@ +.\" Manpage for bkctld. +.\" Contact vlaborie@evolix.fr to correct errors or typos. +.TH man 8 "11 Janvier 2017" "1.0" "bkctld man page" +.SH NAME +bkctld \- Tool to manage rsync jail for backup +.SH SYNOPSIS +bkctld [] +.SH DESCRIPTION +bkctld is a shell script to create and manage a backup server which will handle the backup of many servers (clients). +.SH BKCTLD COMMANDS +bkctld init +.RS 4 +Init jail +.RE +.PP +bkctld update |all +.RS 4 +Update jail +.RE +.PP +bkctld remove |all +.RS 4 +Remove jail or all +.RE +.PP +bkctld start |all +.RS 4 +Start jail or all +.RE +.PP +bkctld stop |all +.RS 4 +Stop jail or all +.RE +.PP +bkctld reload |all +.RS 4 +Reload jail or all +.RE +.PP +bkctld restart |all +.RS 4 +Restart jail or all +.RE +.PP +bkctld sync |all +.RS 4 +Sync jail with $NODE defined in /etc/default/bkctld +.RE +.PP +bkctld status [] +.RS 4 +Print status of jail or all jails +.RE +.PP +bkctld key [] +.RS 4 +Print or set SSH public key of jail +.RE +.PP +bkctld port [|auto] +.RS 4 +Print or set SSH port of jail . Auto for user last port + 1 +.RE +.PP +bkctld ip [|all] +.RS 4 +Print or set allowed IP of jail . All for no IP restriction +.RE +.PP +bkctld inc +.RS 4 +Make inc of jail +.RE +.PP +bkctld rm +.RS 4 +Remove old inc of jail +.RE +.PP +.SH SEE ALSO +sshd(8), rsync(1), chroot(8) +.SH BUGS +No known bugs. +.SH AUTHOR +Victor Laborie (vlaborie@evolix.fr) diff --git a/install.sh b/install.sh deleted file mode 100755 index 3838e47..0000000 --- a/install.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -dir=`dirname $0` - -if [ ! -f /etc/default/evobackup ]; then - install -m 0644 -v $dir/tpl/evobackup.conf /etc/default/evobackup -fi -source /etc/default/evobackup - -grep -q usr /etc/fstab -if [ $? == 0 ]; then - mount -o remount,rw /usr -fi - -mkdir -m 0755 -p $TPLDIR $LOG_DIR -cp -v $dir/tpl/* $TPLDIR -install -m 0755 -v $dir/bkctld /usr/local/sbin/ - -crontab -l|grep -q bkctld -if [ $? != 0 ]; then - (crontab -l 2>/dev/null; echo "29 10 * * * bkctld inc && bkctld rm") | crontab - -fi - -dpkg -l sysvinit >/dev/null -if [ $? == 0 ]; then - install -m 0755 -v $dir/tpl/evobackup /etc/init.d/evobackup - insserv evobackup -fi - -dpkg -l systemd >/dev/null -if [ $? == 0 ] ; then - #cp evobackup@.service /etc/systemd/system/evobackup@.service - install -m 0755 -v $dir/tpl/evobackup /etc/init.d/evobackup - systemctl enable evobackup -fi