Take a snapshot using a shell script
You can take a snapshot using an operating system shell script, such as a Bash script, in the HBase Shell noninteractive mode.
This
example Bash script shows how to take a snapshot in this way. This script is provided as an
illustration only; do not use it in
production.
#!/bin/bash
# Take a snapshot of the table passed as an argument
# Usage: snapshot_script.sh table_name
# Names the snapshot in the format snapshot-YYYYMMDD
# Parse the arguments
if [ -z $1 ]||[$1 == '-h' ]; then
echo "Usage: $0 <table>"
echo " $0 -h"
exit 1
fi
# Modify to suit your environment
export HBASE_PATH=/home/user/hbase
export DATE=`date +"%Y%m%d"`
echo "snapshot '$1', 'snapshot-$DATE'" | $HBASE_PATH/bin/hbase shell -n
status=$?
if [$status -ne 0]; then
echo "Snapshot may have failed: $status"
fi
exit $status
HBase Shell returns an exit code of 0 on successA non-zero exit code indicates the possibility of failure, not a definite failure. Your script should check to see if the snapshot was created before taking the snapshot again, in the event of a reported failure.