From 2f2ac64aa3a782fdaec161e01e1ac92df81a631e Mon Sep 17 00:00:00 2001 From: Laurent Cozic Date: Sun, 8 Nov 2015 12:09:28 +0100 Subject: 'Fix' active backup task issue in Cygwin, added warning, and TODO solution --- rsync_tmbackup.sh | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) mode change 100644 => 100755 rsync_tmbackup.sh diff --git a/rsync_tmbackup.sh b/rsync_tmbackup.sh old mode 100644 new mode 100755 index 6ca2b0f..0992d3c --- a/rsync_tmbackup.sh +++ b/rsync_tmbackup.sh @@ -176,11 +176,18 @@ fi # ----------------------------------------------------------------------------- if [ -n "$(fn_find "$INPROGRESS_FILE")" ]; then - RUNNINGPID="$(fn_run_cmd "cat $INPROGRESS_FILE")" - if [ "$RUNNINGPID"="$(pgrep "$APPNAME")" ]; then - fn_log_error "Previous backup task is still active - aborting." - exit 1 - fi + if [ "$OSTYPE" == "cygwin" ]; then + # TODO: Cygwin reports the name of currently running Bash scripts as just "/usr/bin/bash" + # TODO: so the pgrep solution below won't work. Need to use "procps -wwFAH", grep + # TODO: the script name, and extract the process ID from it. + fn_log_warn "Cygwin only: Previous backup task has either been interrupted or it might still be active, but there is currently no check for this. Assuming that the task was simply interrupted." + else + RUNNINGPID="$(fn_run_cmd "cat $INPROGRESS_FILE")" + if [ "$RUNNINGPID"="$(pgrep "$APPNAME")" ]; then + fn_log_error "Previous backup task is still active - aborting." + exit 1 + fi + fi if [ -n "$PREVIOUS_DEST" ]; then # - Last backup is moved to current backup folder so that it can be resumed. -- cgit v1.2.3