#
# Please run repair_db.sh repair db
# when occur the database disk image is malforme
#
#!/bin/bash
if [ $# -lt 2 ]
then
echo "eg:$0 (SOURCE_DB) (TARGET_DB) [-f]"
exit
fi
#TMPSQL=/mnt/etc/tmp.sql
#SOURCE_DB=/mnt/etc/datafile.db
#TARGET_DB=/mnt/etc/datafile_bak.db
TMPSQL=./tmp.sql
SOURCE_DB=$1
TARGET_DB=temp_$2
if [ -e $TARGET_DB ]
then
rm -rf $TARGET_DB
fi
sqlite3 $SOURCE_DB ".dump" > $TMPSQL
sed -i 's/ROLLBACK/COMMIT/g' $TMPSQL
sqlite3 $TARGET_DB < $TMPSQL
#覆盖原有的数据库
if [ "$3"x == "-f"x ]
then
mv $TARGET_DB $SOURCE_DB
rm -f $TMPSQL
echo "mv $TARGET_DB $SOURCE_DB success!"
fi
echo "repair db completed!"