#################################################################################
#
# NB 08.09.16 - (C) 2016 Nicolas Boisselier
-# /opt/nb/bin/ownCloud-sync
+# bin/ownCloud-sync
#
#################################################################################
declare -r NAME="$(basename "${0}")"
#################################################################################
VERBOSE=0
DEBUG=0
+CONF_NAME=".owncloud-sync.conf"
+
+#################################################################################
+#
+# Main
+#
+#################################################################################
+main() {
+
+ if [ "$UID" == "0" ]; then
+ owncloud_all "/{home,Users}/*/${CONF_NAME}"
+ else
+ load_conf ~/"$CONF_NAME"
+ owncloud_sync "$DIR" "$URL"
+ fi
+}
#################################################################################
#
done
-#################################################################################
-#
-# Main
-#
-#################################################################################
-main() {
-
- if [ "$UID" == "0" ]; then
- owncloud_all "/{home,Users}/*/ownCloud"
- else
- owncloud_sync ~/ownCloud https://owncloud.nbdom.net
- fi
-}
################################################################################
#
# Functions
#
#################################################################################
+load_conf() {
+ local conf="$1"
+ DIR=""
+ URL=""
+ if [ ! -r "$conf" ] || ! . "$conf" || [ -z "$DIR" -o -z "$URL" ]; then
+ echo "$NAME: $conf must be redable and contains DIR= and URL= values!" 1>&2
+ exit 1
+ fi
+}
+
usage() {
echo "
=head1 NAME
return
fi
- lock=~/$NAME.pid
+ lock=~/.$NAME.pid
# Clean old lock nd kill
( find "$lock" -mmin +$((60*2)) -exec cat "{}" \; | xargs kill ) &> /dev/null
if [ -e "$lock" ]; then
}
owncloud_all() {
+ # Args: files to search
[ -z "$*" ] && return 1
IFS=$'\n'
- for dir in `eval ls -1d "$*" 2>/dev/null`; do
- user=`ls -ld "$dir" |awk '{print $3}'`
- cd "$dir" || continue
- #[ "$VERBOSE" -gt 0 ] && echo "$user: $dir"
+ for conf in `eval ls -1d "$*" 2>/dev/null`; do
+ #load_conf "$conf"
+ user=`ls -ld "$conf" |awk '{print $3}'`
+ #cd "$conf" || continue
+
+ #[ "$VERBOSE" -gt 0 ] && echo "$user: $conf"
args=""
- [ "$VERBOSE" -gt 0 ] && args="$args --verbose"
+ local i=0
+ while [ "$i" -lt "$VERBOSE" ]; do
+ args="$args -v"
+ i=$(($i+1))
+ done
+
if [ "$DEBUG" -gt 0 ]; then
echo su - "$user" -c "${NAME}${args}"
continue
fi
- su - "$user" -c "${NAME}${args}" | sed "s~^~$user:$dir ~"
+ su - "$user" -c "${NAME}${args}" | sed "s~^~$user:$conf ~"
done
}
return 0
}
-err() {
- exit_code=$1
- msg=$2
- echo "ERR: $msg" >&2
- exit $exit_code
-}
-
-warn() {
- msg=$1
- echo "WARN: $msg" >&2
-}
-
-verbose() {
- msg=$1
-
- level=$2
- [ -z "$level" ] && level=1
- level=$(($level-1))
-
- [ "$VERBOSE" -gt "$level" ] || return
-
- echo "VERBOSE: $msg" >&2
-}
main