1. 设置ssh、scp命令的认证
运行一次脚本后,以后再使用ssh或scp命令登录远程机器时不再提示输入密码
-----------------setkey.sh开始-------------------------
OLDDIR=`pwd`
if [ -z "$1" ]; then
fi;
cd $HOME;
if [ -e "./.ssh/id_rsa.pub" ]; then
else
fi;
cd $OLDDIR
-----------------setkey.sh结束-------------------------
用法:setkey.sh [用户名]@[要登录的目标机IP地址]
2. 进程监控程序
定时检查进程,发现进程挂掉时重启进程
-----------------loopcheck.sh开始-------------------------
#!/bin/sh
predir=`pwd`
filedir=`dirname $0`
cd "${filedir}"
curdir=`pwd`
logfilename=./loopcheck.log
#-----------------------------------
# 函数: CheckProcess
# 功能: 检查一个进程是否存在
# 参数: $1 --- 要检查的进程名称
# 返回: 如果存在返回0, 否则返回1.
#---------------------------------------
checkprocess()
{
}
# 启动C++进程
startBinProcessByName()
{
}
# 主逻辑
while [ 1 ]; do
# 每隔10秒执行一次
done
cd ${predir}
-----------------loopcheck.sh结束-------------------------
3. mysql数据库表自动修复脚本
-----------------checkdbtable.sh开始-------------------------
#!/bin/sh
mysql_host=localhost
mysql_user=star
mysql_pass=star
database=starcraft27
tables=$(mysql -h$mysql_host -u$mysql_user -p$mysql_pass $database -A -Bse "show tables")
for arg in $tables; do
done
-----------------checkdbtable.sh结束-------------------------
4. mysql数据库备份脚本
-----------------backupdb.sh开始-------------------------
#!/bin/bash
predir=`pwd`
dir=`dirname $0`
cd "${dir}"
DB_DATABASE=databasename
DB_USR=username
DB_PWD=userpassword
BACKDIR=../backup/db
LOG_PATH=../backup/log
DATE=`date +%Y.%m.%d.%H.%M.%S`
targetFile=$BACKDIR/db.$DATE.tar.gz
if [ $# = 1 ];then
targetFile=$1
fi
mkdir -p $LOG_PATH
echo "backupdb begin">>${LOG_PATH}/dailyMaintenace.log
mkdir -p $BACKDIR
mysqldump -u"${DB_USR}" -p"${DB_PWD}" $DB_DATABASE >$DB_DATABASE.$DATE.sql
tar -zcf $targetFile $DB_DATABASE.$DATE.sql
rm -rf $DB_DATABASE.$DATE.sql
echo "backupdb done">>${LOG_PATH}/dailyMaintenace.log
cd "${predir}"
-----------------backupdb.sh结束-------------------------
5. mysql数据库备份恢复脚本
-----------------recoverdb.sh开始-------------------------
#!/bin/bash
predir=`pwd`
dir=`dirname $0`
cd "${dir}"
if [ $# = 0 ];then
echo please specified the source sql file for recover
exit 0
fi
if [ ! -e $1 ];then
echo "there isn't the file $1"
exit 0
fi
DB_DATABASE=databasename
DB_USR=username
DB_PWD=userpassword
RECOVERDIRTEMP=../backup/db/recovertmp
echo recovering...
mkdir -p $RECOVERDIRTEMP
rm -rf $RECOVERDIRTEMP/*
tar -xzf $1 -C $RECOVERDIRTEMP/
if [ $# = 2 ];then
mysql
fi
mysql -u"${DB_USR}" -p"${DB_PWD}" $DB_DATABASE < $RECOVERDIRTEMP/*.sql
rm -f $RECOVERDIRTEMP/*.sql
echo done
cd "${predir}"
-----------------recoverdb.sh结束-------------------------
6. mysql数据库结果分析输出csv文件脚本
-----------------export_userinfo.sh开始-------------------------
#!/bin/bash
rm -rf export_out.csv
var=0
records=()
map=""
date
while read line
do
done < export_in.txt
outstr="";
echo "over";
#echo ${records[*]} > export_result.txt
for ((i=0;i<${#records[@]};i++))
do
done
#echo $outstr > export_result.txt
date
-----------------export_userinfo.sh结束-------------------------
【参考】
http://www.cnblogs.com/end/archive/2011/07/20/2111888.html
本文转载出处:点击打开链接