From 602fff38170e7251a5cc0babd9cef2d1c3132bee Mon Sep 17 00:00:00 2001 From: Axel Kittenberger Date: Tue, 16 Nov 2010 14:27:31 +0000 Subject: [PATCH] --- examples/lgforce.lua | 2 +- l4-rsync-data.sh | 62 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100755 l4-rsync-data.sh diff --git a/examples/lgforce.lua b/examples/lgforce.lua index 596ccec..5f49673 100644 --- a/examples/lgforce.lua +++ b/examples/lgforce.lua @@ -1,7 +1,7 @@ ----- -- User configuration file for lsyncd. -- --- This example uses refers to a problem in unix. +-- This example refers to a common problem in unix. -- -- You have a shared directory for a set of users and you want -- to ensure all users have read and write permissions on all diff --git a/l4-rsync-data.sh b/l4-rsync-data.sh new file mode 100755 index 0000000..821cd02 --- /dev/null +++ b/l4-rsync-data.sh @@ -0,0 +1,62 @@ +#!/bin/bash +set -e +CON="\E[47;34m" +COFF="\033[0m" + +echo -e "$CON***********************************************************$COFF" +echo -e "$CON* Testing layer 4 default rsync with simulated changes. *$COFF" +echo -e "$CON***********************************************************$COFF" + +WORKSOURCE=$(mktemp -d) +WORKTARGET=$(mktemp -d) +PIDFILE=$(mktemp) +LOGFILE=$(mktemp) + +echo -e "$CON* populating the filesystem$COFF" +mkdir -p "${WORKSOURCE}"/a/a +echo 'test' > "${WORKSOURCE}"/a/a/file + +echo -e "$CON* starting lsyncd$COFF" +./lsyncd --logfile "${LOGFILE}" --pidfile "${PIDFILE}" --verbose --no-daemon "${WORKSOURCE}" "${WORKTARGET}"& + +echo -e "$CON* waiting for lsyncd to start$COFF" +sleep 4s + +# cp -r the directory +echo -e "$CON* making a lot of data$COFF" +for A in 1 2 3 4 5 6 7 8 9 10; do + cp -r "${WORKSOURCE}"/a "${WORKSOURCE}"/b${A} + echo 'test2' > "${WORKSOURCE}"/b${A}/a/another +done +mkdir -p "${WORKSOURCE}"/c/a +echo 'test3' > "${WORKSOURCE}"/c/a/file +for A in 1 2 3 4 5 6 7 8 9 10; do + cp -r "${WORKSOURCE}"/c "${WORKSOURCE}"/d${A} + echo 'test2' > "${WORKSOURCE}"/d${A}/a/another +done + +echo -e "$CON* waiting for lsyncd to do the job.$COFF" +sleep 10s + +echo -e "$CON* killing lsyncd$COFF" +LSYNCPID=$(cat "${PIDFILE}") +if ! kill "${LSYNCPID}"; then + cat "${LOGFILE}" + diff -urN "${WORKSOURCE}" "${WORKTARGET}" || true + echo "kill failed" + exit 1 +fi +sleep 1s + +#echo "log file contents" +#cat "${LOGFILE}" +##this should be grep. + +echo -e "$CON* differences$COFF" +diff -urN "${WORKSOURCE}" "${WORKTARGET}" + +rm "${PIDFILE}" +rm "${LOGFILE}" +rm -rf "${WORKTARGET}" +rm -rf "${WORKSOURCE}" +