]>
git.sthu.org Git - shutils.git/blob - nextcloud/nextcloud-inotify-sync
3 NCC
=/usr
/bin
/nextcloudcmd
4 if ! [ -x ${NCC} ]; then
5 echo "There is no ${NCC}."
9 IWAIT
=/usr
/bin
/inotifywait
10 if ! [ -x ${IWAIT} ]; then
11 echo "There is no ${IWAIT}."
18 Calls nextcloudcmd to sync a source directory and server url. The script
19 triggers a synchronization when (i) the source directory was changed or (ii)
20 after some period, whatever happens first. The nextcloudcmd is called with
24 $0 [OPTIONS] source_dir server_url [ARGS...]
29 -o One-shot instead of looping
30 -s Silent, be less verbose
31 -t SECS Sync period if nothing changed locally.
33 ARGS Passed to nextcloudcmd
36 $0 ~/.vimwiki https://cloud.example.com --path vimwiki
47 while getopts "host:" OPTION
; do
58 NCC_OPTS
="${NCC_OPTS} -s"
59 IWAIT_OPTS
="${IWAIT_OPTS} -q"
77 if [ -z "${SOURCE_DIR}" ] ; then
78 echo "No source directory given."
83 if [ -z "${SERVER_URL}" ] ; then
84 echo "No server URL given."
89 NCC_OPTS
="${NCC_OPTS} $@ ${SOURCE_DIR} ${SERVER_URL}"
92 echo "About to sync..."
94 [ "$SILENT" = "1" ] ||
echo "[$(date '+%F %X')] Perform sync..."
98 [ "${ONESHOT}" = "1" ] && break
101 [ "$SILENT" = "1" ] ||
echo ""
102 [ "$SILENT" = "1" ] ||
echo "[$(date '+%F %X')] Wait for ${PERIOD} secs or source directory change."
103 ${IWAIT} ${IWAIT_OPTS} -t ${PERIOD} -r -e modify -e move -e create -e delete ${SOURCE_DIR}