Add script which uses a basedir
This commit is contained in:
parent
d0a417c3bd
commit
fa695bdebf
1 changed files with 85 additions and 0 deletions
85
tools/create_source2.sh
Executable file
85
tools/create_source2.sh
Executable file
|
@ -0,0 +1,85 @@
|
|||
#!/bin/sh
|
||||
# Nico Schottelius
|
||||
# 2007-08-07
|
||||
# Written for Netstream (www.netstream.ch)
|
||||
# Creates a source, including exclude
|
||||
|
||||
# standard values
|
||||
CCOLLECT_CONF=${CCOLLECT_CONF:-/etc/ccollect}
|
||||
CSOURCES=$CCOLLECT_CONF/sources
|
||||
CDEFAULTS=$CCOLLECT_CONF/defaults
|
||||
|
||||
self=$(basename $0)
|
||||
|
||||
# functions first
|
||||
_echo()
|
||||
{
|
||||
echo "${self}> $@"
|
||||
}
|
||||
|
||||
_exit_err()
|
||||
{
|
||||
_echo "$@"
|
||||
rm -f "$TMP"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# argv
|
||||
if [ $# -ne 3 ]; then
|
||||
_echo "<servername> <destination-basedir>"
|
||||
_echo "Example: \"192.168.42.42\" \"/home/server/backup/\""
|
||||
_echo " This will create ${CSOURCES}/192.168.42.42 and /home/server/backup/192.168.42.42."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# sourcename / servername
|
||||
name="$1"
|
||||
|
||||
# basedir
|
||||
basedir="$2"
|
||||
|
||||
fullname="${CSOURCES}/${name}"
|
||||
destination=${basedir}/${name}"
|
||||
|
||||
# Tests
|
||||
if [ -e "${fullname}" ]; then
|
||||
_echo "${fullname} already exists. Aborting."
|
||||
exit 2
|
||||
fi
|
||||
|
||||
_echo "Trying to reach ${source} ..."
|
||||
ping -c1 "${name}" || _exit_err "Cannot reach ${name}. Aborting."
|
||||
|
||||
if [ ! -d "${basedir}" ]; then
|
||||
echo "${basedir} is not a directory. Aborting."
|
||||
exit 7
|
||||
fi
|
||||
|
||||
# Create
|
||||
_echo "Creating ${fullname} ..."
|
||||
mkdir -p "${fullname}" || exit 3
|
||||
|
||||
echo "root@${name}:/" > "${fullname}/source"
|
||||
cat << eof > "${fullname}/exclude" || exit 4
|
||||
/dev/*
|
||||
/proc/*
|
||||
/tmp/*
|
||||
eof
|
||||
|
||||
# Destination
|
||||
if [ -e "${destination}" ]; then
|
||||
if [ ! -d "${destination}" ]; then
|
||||
echo "${destination} exists, but is not a directory. Aborting."
|
||||
exit 5
|
||||
fi
|
||||
else
|
||||
_echo "Creating ${destination} ..."
|
||||
mkdir -p "${destination}" || _exit_err "Failed to create ${destination}."
|
||||
fi
|
||||
|
||||
ln -s "${destination}" "${fullname}/destination" || \
|
||||
_exit_err "Failed to link \"${destination}\" to \"${fullname}/destination\""
|
||||
|
||||
# finish
|
||||
_echo "Added some default values, please verify \"${fullname}\"."
|
||||
_echo "Finished."
|
Loading…
Reference in a new issue