Created
May 7, 2012 17:05
-
-
Save coltrane/2629002 to your computer and use it in GitHub Desktop.
example data dump with retry on failure
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
while true ; do | |
# 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 immediately after | |
# node returns | |
# as it stands, it will be very difficult to terminate this script | |
# using Ctrl-C (SIGINT). | |
if node dump-data.js > backup.json ; then | |
break | |
fi | |
echo -e "\nbackup failed. retrying..." | |
done | |
echo "backup complete. $(date)" | |
echo "transferring to permanent storage..." | |
scp "backup.json" "somehost.example.com:~/backup-$(date +%Y%m%d).json" | |
echo "transfer complete. $(date)" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
process.stderr.write("simulating backup action (sleep for 20 seconds). "+ | |
"Press Ctrl-C.. see what happens."); | |
setTimeout(function() { | |
process.stderr.write('ok - success!\n'); | |
process.exit(0); | |
}, 20000); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment