您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何編寫CentOS下redis自啟動shell腳本”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何編寫CentOS下redis自啟動shell腳本”吧!
用這個腳本管理之前,需要先配置下面的內核參數,否則Redis腳本在重啟或停止redis時,將會報錯,并且不能自動在停止服務前同步數據到磁盤上:
代碼如下:
# vi /etc/sysctl.conf
vm.overcommit_memory = 1
然后應用生效:
代碼如下:
# sysctl -p
然后增加服務并開機自啟動:
代碼如下:
# chmod 755 /etc/init.d/redis
# chkconfig –add redis
# chkconfig –level 345 redis on
# chkconfig –list redis
腳本源碼:
#!/bin/bash # # redis - this script starts and stops the redis-server daemon # # chkconfig: - 80 12 # description: Redis is a persistent key-value database # processname: redis-server # config: /usr/local/redis/etc/redis.conf # pidfile: /usr/local/redis/var/redis.pid source /etc/init.d/functions BIN="/usr/local/redis/bin" CONFIG="/usr/local/redis/etc/redis.conf" PIDFILE="/usr/local/redis/var/redis.pid" ### Read configuration [ -r "$SYSCONFIG" ] && source "$SYSCONFIG" RETVAL=0 prog="redis-server" desc="Redis Server" start() { if [ -e $PIDFILE ];then echo "$desc already running...." exit 1 fi echo -n $"Starting $desc: " daemon $BIN/$prog $CONFIG RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog return $RETVAL } stop() { echo -n $"Stop $desc: " killproc $prog RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE return $RETVAL } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; condrestart) [ -e /var/lock/subsys/$prog ] && restart RETVAL=$? ;; status) status $prog RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|restart|condrestart|status}" RETVAL=1 esac exit $RETVAL
注意:請將腳本中redis的啟動文件、配置文件和pid文件存放位置按你配置的位置做相應修改,文件保存的時候注意是unix下可運行的模式,否則在linux下運行的時候會提示錯誤,/bin/bash^M: bad interpreter: No such file or directory
感謝各位的閱讀,以上就是“如何編寫CentOS下redis自啟動shell腳本”的內容了,經過本文的學習后,相信大家對如何編寫CentOS下redis自啟動shell腳本這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。