06年1月写的第一个shell脚本

6 views
Skip to first unread message

lihongt...@gmail.com

unread,
Dec 5, 2006, 12:45:20 AM12/5/06
to 李洪涛的论坛
因27日要第二次封闭测试,今天必须提供稳定版本,所以留下来加班到凌晨。后半段等待王胄等debug基本无事可做,翻看收藏日久的shell脚本电子书,试着做了两个脚本,search.sh和restore.sh
,前者用来通过角色名查找角色id,后者用来从当日的数据库备份中恢复指定角色的物品或者技能,主要是应对目前因频繁整体存储导致的数据丢失。

search.sh内容
#!/bin/bash
usage()
{
echo "Usage: `basename $0` rolename"
}
ROLE=$1
RES=0
if [ $# -ne 1 ]
then
usage
exit 1
fi

echo "select roleid,rolename from role where rolename like '$ROLE'" |
mysql -h10.60.0.35 -unsytdbuser -Dnsytroledb -pnsytdbpassword >
search.res

if [ -s search.res ]
then
more search.res
else
echo "There is no role named $ROLE !"
fi
rm -f search.res


restore.sh内容
#!/bin/bash
usage()
{
echo "Usage: `basename $0` item|skill roleid"
}

TABLE=$1

if [ $# -ne 2 ]
then
usage
exit 1
fi

echo "unzip backup data to localhost's db"
unzip roledb00-`date +%m%d`.zip

case $TABLE in
item|skill) echo "Restore $TABLE"
echo "delete from $1 where roleid=$2" | mysql -h10.60.0.35
-Dnsytroledb -unsytdbuser -pnsytdbpassword
mysqldump --opt nsytroledb $1 -t -wroleid=$2 | mysql -h10.60.0.35
-Dnsytroledb -unsytdbuser -pnsytdbpassword
echo "Done!"
;;
*) usage
;;
esac

Reply all
Reply to author
Forward
0 new messages