Skip to content

Instantly share code, notes, and snippets.

@coltrane
Created May 7, 2012 17:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save coltrane/2629002 to your computer and use it in GitHub Desktop.
Save coltrane/2629002 to your computer and use it in GitHub Desktop.
example data dump with retry on failure
#!/bin/bash
result=
while (( $result )) || [ -z "$result" ]; do
node dump_data_for_backup.js > backup.json
result=$?
# there is no way to distinguish node's (1) exit code on SIGINT (and SIGTERM)
# from a (1) exit code due to normal exit call in userland.
# if node preserved SIGINT/SIGTERM, then the shell would detect node's
# "abnormal exit" status, and the script would terminate right here.
# as it stands, it will be very difficult to terminate this script
# using Ctrl-C (SIGINT) or SIGTERM.
if (( $result != 0 )) ; then
echo -e "\nbackup failed ($result). retrying..."
fi
done
echo ">> backup-$(date +%Y%m%d).json"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment