Memcached启停脚本小结
编写配置文件
vim/etc/memcached.conf
内容如下:
-m128-d-p11211-c1024
编写启动脚本
vim /etc/rc.d/init.d/memcached
#!/bin/bash
#
# memcached This shell script takes care of starting and stopping
# standalone memcached.
# . /etc/rc.d/init.d/functions PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/bin/memcached DAEMONBOOTSTRAP=/usr/local/bin/start-memcached DAEMONCONF=/etc/memcached.conf NAME=memcached DESC=memcached PIDFILE=/var/run/$NAME.pid [-x$DAEMON]||exit0[-x$DAEMONBOOTSTRAP]||exit0RETVAL=0 start(){echo-n $"Starting $DESC: " daemon $DAEMONBOOTSTRAP$DAEMONCONFRETVAL=$?[$RETVAL-eq0]&&touch$PIDFILEechoreturn$RETVAL} stop(){echo-n $"Shutting down $DESC: " killproc $NAMERETVAL=$?echo[$RETVAL-eq0]&&rm-f$PIDFILEreturn$RETVAL}# See how we were called.case"$1"in start) start ;; stop) stop ;; restart|reload) stop start RETVAL=$?;; status) status $progRETVAL=$?;;*)echo $"Usage: $0 {start|stop|restart|status}"exit1esacexit$RETVAL
[编辑]编写start-memcached脚本
vim /usr/local/bin/start-memcached
#!/usr/bin/perl -w# start-memcached use strict; if($>!= 0 and $<!= 0){ print STDERR "Only root wants to run start-memcached.\n"; exit; } my $etcfile = shift||"/etc/memcached.conf"; my $params = []; my $etchandle; # This script assumes that memcached is located at /usr/bin/memcached, and# that the pidfile is writable at /var/run/memcached.pid my $memcached = "/usr/local/bin/memcached"; my $pidfile = "/var/run/memcached.pid"; # If we don't get a valid logfile parameter in the /etc/memcached.conf file,# we'll just throw away all of our in-daemon output. We need to re-tie it so# that non-bash shells will not hang on logout. Thanks to Michael Renner for# the tip my $fd_reopened = "/dev/null"; sub handle_logfile { my ($logfile) = @_; $fd_reopened = $logfile; } sub reopen_logfile { my ($logfile) = @_; open *STDERR, ">>$logfile"; open *STDOUT, ">>$logfile"; open *STDIN, ">>/dev/null"; $fd_reopened = $logfile; }# This is set up in place here to support other non -[a-z] directives my $conf_directives = {"logfile" => \&handle_logfile }; if(open $etchandle, $etcfile){ foreach my $line(<$etchandle>){$line =~ s/\#.*//go;$line = join' ', split' ', $line; next unless $line; next if$line =~ /^\-[dh]/o; if($line =~ /^[^\-]/o){ my ($directive, $arg) = $line =~ /^(.*?)\s+(.*)/; $conf_directives->{$directive}->($arg); next; } push @$params, $line; }} unshift @$params, "-u root" unless (grep$_ eq '-u', @$params); $params = join" ", @$params; if(-e $pidfile){ open PIDHANDLE, "$pidfile"; my $localpid = <PIDHANDLE>; close PIDHANDLE; chomp $localpid; if(-d "/proc/$localpid"){ print STDERR "memcached is already running.\n"; exit; }else{`rm-f$localpid`; }} my $pid = fork(); if($pid == 0){ reopen_logfile($fd_reopened); exec"$memcached$params"; exit(0); } elsif (open PIDHANDLE,">$pidfile"){ print PIDHANDLE $pid; close PIDHANDLE; }else{ print STDERR "Can't write pidfile to $pidfile.\n"; }
修改权限
chmod 755 /etc/rc.d/init.d/memcached chmod 755 /usr/local/bin/start-memcached
启动
service memcached start
[编辑]艺搜参考
http://forums.eukhost.com/f15/memcached-best-caching-option-linux-web-servers-5269/
http://duntuk.com/how-install-memcached-centos-memcached-php-extension-centos
Memcached启停脚本小结的更多相关文章
- Linux 程序启停脚本
start.sh #!/bin/sh java -jar ./program.jar & echo $! > /var/run/program.pid stop.sh #!/bin/sh ...
- linux下的启停脚本
linux下的根据项目名称,进行进程的启停脚本 #!/bin/bash JAVA=/usr/bin/java APP_HOME=/opt/program/qa/wechat APP_NAME=prog ...
- case编写的httpd简单启停脚本
case编写的httpd简单启停脚本 #!/bin/bash HTTPD="/etc/init.d/httpd" . /etc/init.d/functions case &quo ...
- Oracle EBS R12的启停脚本
以下脚本用root用户登录执行: 一.DB启停使用EBS提供的脚本ebs_start.shsu - oraprod -c "/d01/oracle/PROD/db/tech_st/10.2. ...
- Oracle BIEE启停脚本
作为BI的开发人员,经常启停BI服务在所难免,启动的过程又比较长,命令需要不同目录切换,简直烦死人呢, 特意整理了linux中的启动脚本,将以下脚本存成biee.sh,后面的过程就相当简单了, 启动: ...
- python启停脚本的编写
先占个位置,打算记录一下启停python 的脚本start.sh,stop.sh的写法. 内容包括启动python脚本的方式,日志的重定向,获取进程id,以及杀掉进程. 参考文章: http://bl ...
- mysql自己编写启停脚本
一.场景 在实际生产环境中要求相对较高的企业对于root权限管控相对比较高,故而很多软件并非安装在root用户下(当然root用户权限也可管理,但正常情况下root权限并不会给业务使用方,而会给一个普 ...
- nginx启停脚本
安装nginx时,源码包中未带官方的启动脚本,也就无法使用service nginxd start这种启动方式,查了下资料自己写了一个: #!/bin/bash #@version: #@author ...
- liunx weblogic服务启停脚本
#!/bin/bash #sh xx.sh start xx项目 例如:sh autoWeblogic.sh start bius #经测试发现weblogic 启动大概需要完全启动成功35秒左右 停 ...
随机推荐
- logback 项目应用
1.gradle引用: compile group: 'commons-logging', name: 'commons-logging', version: '1.1.3' compile grou ...
- 《深入PHP与jQuery开发》读书笔记——Chapter2
Pro PHP and jQuery Chapter2 总结 1.理解jQuery脚本的基本行为 jQuery事实上沿用了JavaScript的那一套东西,几乎所有方法都支持链式调用,也就是说方法可以 ...
- 关于vue.js 组件的调用
包子初学vue.js,有很多不明白的地方还请大家多多指教,在组件的调用的时候,包子有点懵,因为感觉调用组件的方式非常的麻烦,每一个都要实例化,不过,通过不断询问大牛们,我找到了,动态加载组件的方法~~ ...
- VS2010 使用时选择代码或双击时出错,点击窗口按钮后VS自动重启问题
VS2010 使用时选择代码或双击时出错崩溃,点击窗口按钮后VS自动重启问题 下载补丁,打上补丁之后,重启电脑,解决了问题. WindowsXP的下载地址:Windows XP 更新程序 (KB971 ...
- 通过rails console执行sql语句
$ RAILS_ENV=production bundle exec rails c irb(main):008:0> r = ActiveRecord::Base.connection.exe ...
- win7/ubuntu双系统下,如何恢复成win7引导及卸载ubuntu
电脑原来是win7系统,后来通过硬盘安装了Ubuntu,同时把Ubuntu设置成了开机引导项(开机时选择操作系统的界面成了紫色背景白色字体的界面),ubuntu引导开机的缺点是将来要卸载Ubuntu时 ...
- 《ASP.NET MVC4 WEB编程》学习笔记------RenderBody,RenderPage,RenderSection
ASP.NET MVC 3 已经正式发布了,现在估计许多人都在拼命学,我也不能例外,刚刚看到了一篇文章,介绍了三个非常有用的方法:RenderBody,RenderPage和RenderSection ...
- C++复数四则运算的实现
程序主要实现复数的加减乘,数乘,取共轭功能. 将所有函数都定义为了成员函数. 使用库函数atof将字符串转换为浮点型数据. 函数主要难点在于处理输入.由于需要判断输入是选择退出还是继续,所以用字符串来 ...
- MyBatis3: Could not find SQL statement to include with refid ‘
错误: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.Incompl ...
- echart所有汉字都显示中文,就echarts的toolbox注释显示乱码
echarts无所谓支不支持gbk编码这么一说,关键是页面的charset和echarts.js文件的charset是否匹配,如果不匹配,请使用如下方式引入: <script src=" ...