2007-08-07 05:48:52 +00:00
|
|
|
#!/bin/sh
|
|
|
|
# Nico Schottelius
|
|
|
|
# 2007-08-07
|
|
|
|
# Written for Netstream (www.netstream.ch)
|
|
|
|
# Creates a source, including exclude
|
|
|
|
|
2007-08-07 06:21:40 +00:00
|
|
|
# standard values
|
2007-08-07 05:48:52 +00:00
|
|
|
CCOLLECT_CONF=${CCOLLECT_CONF:-/etc/ccollect}
|
|
|
|
CSOURCES=$CCOLLECT_CONF/sources
|
|
|
|
CDEFAULTS=$CCOLLECT_CONF/defaults
|
|
|
|
|
2007-08-07 06:40:44 +00:00
|
|
|
self=$(basename $0)
|
|
|
|
|
2007-08-07 06:21:40 +00:00
|
|
|
# functions first
|
|
|
|
_echo()
|
|
|
|
{
|
2007-08-07 06:40:44 +00:00
|
|
|
echo -n "${self}> $@"
|
2007-08-07 06:21:40 +00:00
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
_exit_err()
|
|
|
|
{
|
|
|
|
_echo "$@"
|
|
|
|
rm -f "$TMP"
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
# argv
|
2007-08-07 06:40:44 +00:00
|
|
|
if [ $# -ne 2 ]; then
|
|
|
|
_echo "Arguments needed: <name of the server> <where to store backup>"
|
2007-08-07 06:21:40 +00:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2007-08-07 05:48:52 +00:00
|
|
|
name="$1"
|
|
|
|
fullname="${CSOURCES}/${name}"
|
2007-08-07 06:40:44 +00:00
|
|
|
destination="$2"
|
2007-08-07 05:48:52 +00:00
|
|
|
|
2007-08-07 06:21:40 +00:00
|
|
|
# Tests
|
2007-08-07 05:48:52 +00:00
|
|
|
if [ -e "${fullname}" ]; then
|
2007-08-07 06:21:40 +00:00
|
|
|
_echo "${fullname} already exists. Aborting."
|
2007-08-07 05:48:52 +00:00
|
|
|
exit 2
|
|
|
|
fi
|
2007-08-07 06:21:40 +00:00
|
|
|
|
|
|
|
_echo "Trying to reach ${name} ..."
|
|
|
|
ping -c1 "${name}" || _exit_err "Cannot reach ${name}. Aborting."
|
|
|
|
|
|
|
|
# Create
|
|
|
|
_echo "Creating ${fullname} ..."
|
|
|
|
mkdir -p "${fullname}" || exit 3
|
|
|
|
|
|
|
|
echo "${name}:/" > "${fullname}/source"
|
2007-08-07 06:40:44 +00:00
|
|
|
cat << eof > "${fullname}/exclude" || exit 4
|
2007-08-07 06:21:40 +00:00
|
|
|
/dev/*
|
|
|
|
/proc/*
|
|
|
|
/tmp/*
|
|
|
|
eof
|
|
|
|
|
2007-08-07 06:40:44 +00:00
|
|
|
# Destination
|
|
|
|
if [ -e "${destination}" ]; then
|
|
|
|
if [ ! -d "${destination}" ]; then
|
|
|
|
echo "${destination} exists, but is not a directory. Aborting."
|
|
|
|
exit 5
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
mkdir -p "${destination}" || _exit_err "Failed to create ${destination}."
|
|
|
|
fi
|
|
|
|
|
|
|
|
ln -s "${destination}" "${fullname}/destination" || \
|
|
|
|
_exit_err "Failed to link \"${destination}\" to \"${fullname}/destination\""
|
|
|
|
|
2007-08-07 06:21:40 +00:00
|
|
|
# finish
|
|
|
|
_echo "Added some default values, please verify ${fullname}."
|
|
|
|
_echo "Finished."
|