今天自己写的一个小shell - blog.lei - powered by phpwind.net
2007-11-06 18:00
603 查看
导读:
#!/bin/bash
# 20070427 make by lei
case "$1" in
"start")
/etc/rc.d/init.d/mysqld strat ;;
"stop")
/etc/rc.d/init.d/mysqld stop ;;
"restart")
/etc/rc.d/init.d/mysqld restart ;;
esac
exit 0
感觉还是语法不熟
其实找到mysqld把它copy出来也是一样得,最终还得利用系统的那个mysqld文件进行操作
其实原始脚本如下:
#!/bin/bash
#
# mysqld This shell script takes care of starting and stopping
# the MySQL subsystem (mysqld).
#
# chkconfig: - 64 36
# description: MySQL database server.
# processname: mysqld
# config: /etc/my.cnf
# pidfile: /var/run/mysqld/mysqld.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
prog="MySQL"
# extract value of a MySQL option from /etc/my.cnf
# Usage: get_mysql_option FILE VARNAME DEFAULT
# result is returned in $result
# Ugly as this is, it knows nothing of option file sections ...
get_mysql_option(){
result=`sed -n "s/^[ /t]*$2[ /t]*=[ /t]*//p" "$1" 2>/dev/null | tail -n 1`
if [ -z "$result" ]; then
# not found, use default
result="$3"
else
# found, still have to deal with quoting and end-of-line comments
dequoted=`echo "$result" | sed "s/^'/([^']*/)'.*$//1/"`
if [ x"$dequoted" != x"$result" ]; then
result="$dequoted"
else
dequoted=`echo "$result" | sed 's/^"/([^"]*/)".*$//1/'`
if [ x"$dequoted" != x"$result" ]; then
result="$dequoted"
else
result=`echo "$result" | sed 's/^/([^ /t#]*/).*$//1/'`
fi
fi
fi
}
get_mysql_option /etc/my.cnf datadir "/var/lib/mysql"
datadir="$result"
get_mysql_option /etc/my.cnf socket "$datadir/mysql.sock"
socketfile="$result"
get_mysql_option /etc/my.cnf log-error "/var/log/mysqld.log"
errlogfile="$result"
get_mysql_option /etc/my.cnf pid-file "/var/run/mysqld/mysqld.pid"
mypidfile="$result"
start(){
touch "$errlogfile"
chown mysql:mysql "$errlogfile"
chmod 0640 "$errlogfile"
[ -x /sbin/restorecon ] &&/sbin/restorecon "$errlogfile"
if [ ! -d "$datadir/mysql" ] ;then
action $"Initializing MySQL database: "/usr/bin/mysql_install_db
ret=$?
chown -R mysql:mysql "$datadir"
if [ $ret -ne 0 ] ;then
return $ret
fi
fi
chown -R mysql:mysql "$datadir"
chmod 0755 "$datadir"
# The reason for explicitly specifying --pid-file is that there may
# be no such entry in my.cnf, and the default behavior will be to not
# create it at all. Likewise, we specify --log-error in case there
# was not an entry in my.cnf.
/usr/bin/mysqld_safe --defaults-file=/etc/my.cnf --pid-file="$mypidfile" --log-error="$errlogfile" >/dev/null 2>&1 &
ret=$?
# Spin for a maximum of N seconds waiting for the server to come up.
# Rather than assuming we know a valid username, accept an "access
# denied" response as meaning the server is functioning.
if [ $ret -eq 0 ]; then
STARTTIMEOUT=30
while [ $STARTTIMEOUT -gt 0 ]; do
RESPONSE=`/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping 2>&1` &&break
echo "$RESPONSE" | grep -q "Access denied for user" &&break
sleep 1
let STARTTIMEOUT=${STARTTIMEOUT}-1
done
if [ $STARTTIMEOUT -eq 0 ]; then
echo "Timeout error occurred trying to start MySQL Daemon."
action $"Starting $prog: "/bin/false
else
action $"Starting $prog: "/bin/true
fi
else
action $"Starting $prog: "/bin/false
fi
[ $ret -eq 0 ] &&touch /var/lock/subsys/mysqld
return $ret
}
stop(){
MYSQLPID=`cat "$mypidfile" 2>/dev/null `
if [ -n "$MYSQLPID" ]; then
/bin/kill "$MYSQLPID" >/dev/null 2>&1
ret=$?
if [ $ret -eq 0 ]; then
STOPTIMEOUT=60
while [ $STOPTIMEOUT -gt 0 ]; do
/bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break
sleep 1
let STOPTIMEOUT=${STOPTIMEOUT}-1
done
if [ $STOPTIMEOUT -eq 0 ]; then
echo "Timeout error occurred trying to stop MySQL Daemon."
ret=1
action $"Stopping $prog: "/bin/false
else
rm -f /var/lock/subsys/mysqld
rm -f "$socketfile"
action $"Stopping $prog: "/bin/true
fi
else
action $"Stopping $prog: "/bin/false
fi
else
ret=1
action $"Stopping $prog: "/bin/false
fi
return $ret
}
restart(){
stop
start
}
condrestart(){
[ -e /var/lock/subsys/mysqld ] &&restart || :
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status mysqld
;;
restart)
restart
;;
condrestart)
condrestart
;;
*)
echo $"Usage: $0 {start|stop|status|condrestart|restart}"
exit 1
esac
exit $?
本文转自
http://218.85.131.36:8032/blog/article.php?itemid-83-type-blog.html
#!/bin/bash
# 20070427 make by lei
case "$1" in
"start")
/etc/rc.d/init.d/mysqld strat ;;
"stop")
/etc/rc.d/init.d/mysqld stop ;;
"restart")
/etc/rc.d/init.d/mysqld restart ;;
esac
exit 0
感觉还是语法不熟
其实找到mysqld把它copy出来也是一样得,最终还得利用系统的那个mysqld文件进行操作
其实原始脚本如下:
#!/bin/bash
#
# mysqld This shell script takes care of starting and stopping
# the MySQL subsystem (mysqld).
#
# chkconfig: - 64 36
# description: MySQL database server.
# processname: mysqld
# config: /etc/my.cnf
# pidfile: /var/run/mysqld/mysqld.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
prog="MySQL"
# extract value of a MySQL option from /etc/my.cnf
# Usage: get_mysql_option FILE VARNAME DEFAULT
# result is returned in $result
# Ugly as this is, it knows nothing of option file sections ...
get_mysql_option(){
result=`sed -n "s/^[ /t]*$2[ /t]*=[ /t]*//p" "$1" 2>/dev/null | tail -n 1`
if [ -z "$result" ]; then
# not found, use default
result="$3"
else
# found, still have to deal with quoting and end-of-line comments
dequoted=`echo "$result" | sed "s/^'/([^']*/)'.*$//1/"`
if [ x"$dequoted" != x"$result" ]; then
result="$dequoted"
else
dequoted=`echo "$result" | sed 's/^"/([^"]*/)".*$//1/'`
if [ x"$dequoted" != x"$result" ]; then
result="$dequoted"
else
result=`echo "$result" | sed 's/^/([^ /t#]*/).*$//1/'`
fi
fi
fi
}
get_mysql_option /etc/my.cnf datadir "/var/lib/mysql"
datadir="$result"
get_mysql_option /etc/my.cnf socket "$datadir/mysql.sock"
socketfile="$result"
get_mysql_option /etc/my.cnf log-error "/var/log/mysqld.log"
errlogfile="$result"
get_mysql_option /etc/my.cnf pid-file "/var/run/mysqld/mysqld.pid"
mypidfile="$result"
start(){
touch "$errlogfile"
chown mysql:mysql "$errlogfile"
chmod 0640 "$errlogfile"
[ -x /sbin/restorecon ] &&/sbin/restorecon "$errlogfile"
if [ ! -d "$datadir/mysql" ] ;then
action $"Initializing MySQL database: "/usr/bin/mysql_install_db
ret=$?
chown -R mysql:mysql "$datadir"
if [ $ret -ne 0 ] ;then
return $ret
fi
fi
chown -R mysql:mysql "$datadir"
chmod 0755 "$datadir"
# The reason for explicitly specifying --pid-file is that there may
# be no such entry in my.cnf, and the default behavior will be to not
# create it at all. Likewise, we specify --log-error in case there
# was not an entry in my.cnf.
/usr/bin/mysqld_safe --defaults-file=/etc/my.cnf --pid-file="$mypidfile" --log-error="$errlogfile" >/dev/null 2>&1 &
ret=$?
# Spin for a maximum of N seconds waiting for the server to come up.
# Rather than assuming we know a valid username, accept an "access
# denied" response as meaning the server is functioning.
if [ $ret -eq 0 ]; then
STARTTIMEOUT=30
while [ $STARTTIMEOUT -gt 0 ]; do
RESPONSE=`/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping 2>&1` &&break
echo "$RESPONSE" | grep -q "Access denied for user" &&break
sleep 1
let STARTTIMEOUT=${STARTTIMEOUT}-1
done
if [ $STARTTIMEOUT -eq 0 ]; then
echo "Timeout error occurred trying to start MySQL Daemon."
action $"Starting $prog: "/bin/false
else
action $"Starting $prog: "/bin/true
fi
else
action $"Starting $prog: "/bin/false
fi
[ $ret -eq 0 ] &&touch /var/lock/subsys/mysqld
return $ret
}
stop(){
MYSQLPID=`cat "$mypidfile" 2>/dev/null `
if [ -n "$MYSQLPID" ]; then
/bin/kill "$MYSQLPID" >/dev/null 2>&1
ret=$?
if [ $ret -eq 0 ]; then
STOPTIMEOUT=60
while [ $STOPTIMEOUT -gt 0 ]; do
/bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break
sleep 1
let STOPTIMEOUT=${STOPTIMEOUT}-1
done
if [ $STOPTIMEOUT -eq 0 ]; then
echo "Timeout error occurred trying to stop MySQL Daemon."
ret=1
action $"Stopping $prog: "/bin/false
else
rm -f /var/lock/subsys/mysqld
rm -f "$socketfile"
action $"Stopping $prog: "/bin/true
fi
else
action $"Stopping $prog: "/bin/false
fi
else
ret=1
action $"Stopping $prog: "/bin/false
fi
return $ret
}
restart(){
stop
start
}
condrestart(){
[ -e /var/lock/subsys/mysqld ] &&restart || :
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status mysqld
;;
restart)
restart
;;
condrestart)
condrestart
;;
*)
echo $"Usage: $0 {start|stop|status|condrestart|restart}"
exit 1
esac
exit $?
本文转自
http://218.85.131.36:8032/blog/article.php?itemid-83-type-blog.html
相关文章推荐
- 在开机后就去执行一个程序 - 留住一瞬间,便时永恒 - blog.lei - powered by phpwind.net
- 关于MySQL嵌套查询的技巧 - 留住一瞬间,便时永恒 - blog.lei - powered by phpwind.net
- 如何养胃 - 留住一瞬间,便时永恒 - blog.lei - powered by phpwind.net
- 卡巴升级包制做 - blog.lei - powered by phpwind.net
- vista上不了网解决方案 - blog.lei - powered by phpwind.net
- NtCreatFile函数的参数传递分析 - zl21 - 程序员网志 - Powered By PHPWind.Net
- 关于LNK2001错误的一些总结 (摘录) - David Hu - 网大博客 - powered by phpwind.net
- 今天给加上一个计数器,看到自己的Blog都生锈了啊!以后要好好维护!
- 今天在http://blog.csdn.net上建立了自己的Blog
- 今天看到一个blog上讨论字符串分割函数,一时兴起,自己写了一个
- 今天找了好久好久,找到了一个地方,可以自己的BLOG了,
- 终于在csdn有自己的blog了,好高兴啊。建立了一个群6241896(asp.net)
- 原来这么简单就可以申请Blog了,害我还自己做了一个~
- 从今天开始,做一个简单的自己
- wap获取手机号码,今天uc开启云加速,用公司的工具类获取是null,但是另外一个项目可以,应该这个项目的工具旧少了一些代码。。,网上找了 方法自己加可以
- 自己也建一个Blog玩玩
- 今天才申请的blog.我的网址是:http://www.wbzh.tk,http://blog.csdn.net/WBZH/
- 使用asp.net mvc 创建一个blog发布系统
- [转] 一个分组查询的SQL 常用算法(附源码可直接执行) [来自--http://blog.csdn.net/rainbowsoftware/archive/2007/04/26/1585355.aspx]
- 看到人问CSDN的采用了什么架构,能够承受这么多访问,就回复了个,这里把自己的的经验也发下,算是给。NET新手一个帮助