]>
git.sthu.org Git - shutils.git/blob - nextcloud/nc-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
29 -o One-shot instead of looping
30 -s Silent, be less verbose
31 -t SECS Sync period if nothing changed locally.
35 $0 ~/.vimwiki https://cloud.example.com/remote.php/webdav/vimwiki
46 while getopts "host:" OPTION
; do
57 NCC_OPTS
="${NCC_OPTS} -s"
58 IWAIT_OPTS
="${IWAIT_OPTS} -q"
74 if [ -z "${SOURCE_DIR}" ] ; then
75 echo "No source directory given."
80 if [ -z "${SERVER_URL}" ] ; then
81 echo "No server URL given."
86 NCC_OPTS
="${NCC_OPTS} ${SOURCE_DIR} ${SERVER_URL}"
89 echo "About to sync..."
91 [ "$SILENT" = "1" ] ||
echo "[$(date '+%F %X')] Perform sync..."
95 [ "${ONESHOT}" = "1" ] && break
98 [ "$SILENT" = "1" ] ||
echo ""
99 [ "$SILENT" = "1" ] ||
echo "[$(date '+%F %X')] Wait for ${PERIOD} secs or source directory change."
100 ${IWAIT} ${IWAIT_OPTS} -t ${PERIOD} -r -e modify -e move -e create -e delete ${SOURCE_DIR}