Skip to content

Instantly share code, notes, and snippets.

@onlymellb
Created March 1, 2018 08:07
Show Gist options
  • Save onlymellb/e50b5501f5de5a438f4c489e966a5bf6 to your computer and use it in GitHub Desktop.
Save onlymellb/e50b5501f5de5a438f4c489e966a5bf6 to your computer and use it in GitHub Desktop.
#!/bin/bash -e
function backup_rocksdb {
src_dir=$1
dst_dir=$2
mkdir -p $dst_dir
for path in $src_dir/*
do
filename=$(basename "$path")
extension="${filename##*.}"
if [ "$extension" != "sst" ]; then
cp $path $dst_dir/$filename
else
ln $path $dst_dir/$filename
fi
done
}
function backup_snapshot {
src_dir=$1
dst_dir=$2
mkdir -p $dst_dir
for path in $src_dir/*
do
filename=$(basename "$path")
if [ "${filename:0:4}" == "rev_" ]; then
cp $path $dst_dir/$filename
fi
done
}
tikv_dir=$1
backup_dir=$2
echo "Backup data rocksdb files ..."
backup_rocksdb $tikv_dir/db $backup_dir/db
echo "Backup raft rocksdb files ..."
backup_rocksdb $tikv_dir/raft $backup_dir/raft
echo "Backup snapshot files ..."
backup_snapshot $tikv_dir/snap $backup_dir/snap
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment