diff options
Diffstat (limited to 'bin')
| -rwxr-xr-x | bin/task/context | 3 | ||||
| -rwxr-xr-x | bin/unix/rsync_retry.sh | 14 |
2 files changed, 16 insertions, 1 deletions
diff --git a/bin/task/context b/bin/task/context index c8e3f7a..fd10baf 100755 --- a/bin/task/context +++ b/bin/task/context | |||
| @@ -7,10 +7,11 @@ | |||
| 7 | # | 7 | # |
| 8 | # TODO support minus time | 8 | # TODO support minus time |
| 9 | 9 | ||
| 10 | LOG_FILE=~/log/.context && touch $LOG_FILE | 10 | LOG_FILE=~/.context && touch $LOG_FILE |
| 11 | PLAN_FILE=~/log/plan.context.md | 11 | PLAN_FILE=~/log/plan.context.md |
| 12 | PROC=$$ | 12 | PROC=$$ |
| 13 | trap 'exit 1' SIGUSR1 | 13 | trap 'exit 1' SIGUSR1 |
| 14 | trap 'rsync_retry $0' EXIT | ||
| 14 | 15 | ||
| 15 | context="$(cat ~/.task/context)" | 16 | context="$(cat ~/.task/context)" |
| 16 | [[ "$*" =~ '-s' ]] && SET=true && shift | 17 | [[ "$*" =~ '-s' ]] && SET=true && shift |
diff --git a/bin/unix/rsync_retry.sh b/bin/unix/rsync_retry.sh new file mode 100755 index 0000000..be70c03 --- /dev/null +++ b/bin/unix/rsync_retry.sh | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | #! /bin/sh | ||
| 2 | |||
| 3 | REMOTE=${REMOTE:-vps} | ||
| 4 | SRC="$1" | ||
| 5 | DEST="$2" | ||
| 6 | DEST="${DEST:-$1}" | ||
| 7 | |||
| 8 | # If fail to sync file, then | ||
| 9 | if rsync -au "${SRC}" ${REMOTE}:"${DEST}"; then | ||
| 10 | rm "${SRC}".retry 2>/dev/null | ||
| 11 | true | ||
| 12 | else | ||
| 13 | echo ${DEST} >${SRC}.retry | ||
| 14 | fi | ||