[root@node21 ~]
# tree -p /data/sentinel/26379/
/data/sentinel/26379/
├── [drwxr-xr-x] conf <=
= 存放sentinel的配置檔案
├── [drwxr-xr-x] logs <=
= 存放sentinel的日誌檔案
├── [drwxr-xr-x] run <=
= 存放sentinel的pid檔案,前提是sentinel的配置檔案中配置了pidfile引數
└── [drwxr-xr-x] script <=
= 存放sentinel的啟停指令碼
4 directories, 0 files
#### 啟動方式
redis-server path/sentinel.conf --sentinel # 配置檔案中要配置daemonize的值為yes
redis-server path/sentinel.conf --sentinel &
# 不用管配置檔案中daemonize是否等於yes
redis-sentinel path/sentinel.conf # 配置檔案中要配置daemonize的值為yes
redis-sentinel path/sentinel.conf &
# 不用管配置檔案中daemonize是否等於yes
#### 停止方式
redis-cli -h 《可連線的ip> -p 6379 shutdown
# 不需要認證,配置檔案中也沒提供認證的引數
sentinel在連線時不需要認證(配置檔案沒提供相關引數),但可以對相關命令做別名,例如shutdown
建立 /data/sentinel/26379/script/sentineld 檔案,將以下內容放在裡面,修改許可權700,屬主/組redis
#!/bin/bash
## sentinel start stop scripts
## define variables
ip="172.16.1.21"
port=
"26379"
exec=
conf=
"/data/sentinel/$port/conf/sentinel.conf"
pid=
"/data/sentinel/$port/run/sentinel.pid"
cliexec=
# load functions
[ -f /etc/init.d/functions ]
&&source /etc/init.d/functions
# define functions
start(
)stop(
)status(
)# case call functions
case
"$1"
in start)
start
retval=$?;
; stop)
stop
retval=$?;
; restart)
stop
sleep 2
start
retval=$?;
; status)
status
retval=$?;
; *)
echo
"usage:$0"
exit 1
esac
#### 指令碼可執行的選項
[redis@node21 ~]$
[redis@node21 ~]$ /data/sentinel/26379/script/sentineld
usage:/data/sentinel/26379/script/sentineld
#### 檢視其sentinel的狀態
[redis@node21 ~]$
[redis@node21 ~]$ /data/sentinel/26379/script/sentineld status
sentinel[26379] is not running
#### 啟動sentinel並檢視其狀態
[redis@node21 ~]$
[redis@node21 ~]$ /data/sentinel/26379/script/sentineld start
start sentinel[26379]
service
[ 確定 ]
[redis@node21 ~]$
[redis@node21 ~]$ /data/sentinel/26379/script/sentineld status
sentinel[26379] is running
[redis@node21 ~]$
[redis@node21 ~]$ ps -ef|
grep sentinel
redis 23064 23017 0 00:07 pts/0 00:00:00 grep --color=auto sentinel
#### 停止sentinel並檢視其狀態
[redis@node21 ~]$
[redis@node21 ~]$ /data/sentinel/26379/script/sentineld stop
stop sentinel[26379]
service
[ 確定 ]
[redis@node21 ~]$
[redis@node21 ~]$ /data/sentinel/26379/script/sentineld status
sentinel[26379] is not running
[redis@node21 ~]$
[redis@node21 ~]$ ps -ef|
grep sentinel
redis 23074 23017 0 00:07 pts/0 00:00:00 grep --color=auto sentinel
#### 重啟sentinel並檢視其狀態
[redis@node21 ~]$
[redis@node21 ~]$ /data/sentinel/26379/script/sentineld restart
sentinel[26379] is not running
start sentinel[26379]
service
[ 確定 ]
[redis@node21 ~]$
[redis@node21 ~]$ /data/sentinel/26379/script/sentineld status
sentinel[26379] is running
[redis@node21 ~]$
[redis@node21 ~]$ ps -ef|
grep sentinel
redis 23086 23017 0 00:10 pts/0 00:00:00 grep --color=auto sentinel
利用shell開發keepalived啟動指令碼
啟動方式 keepalived f 配置檔案 絕對路徑 p pid檔案 絕對路徑 關閉方式 kill cat pid檔案 絕對路徑 注意 該指令碼只能linux的超級使用者root才能啟動,因為指令碼中有進行限制 bin bash define variables retval 0 conf exc...
利用shell命令操作Memcached
首先,需要了解memcached協議,如果不清楚可參考 memcached 協議中英文對照 1 資料儲存 假設key為zhangyan,value為12345 printf set zhangyan 0 0 5 r n12345 r n nc 127.0.0.1 11211 stored 2 資料取...
shell開發學習
最近做乙個小專案,需要用編寫個指令碼做監控,順便記錄下使用到的內容 1.shell的區域性變數定義local 當shell指令碼中需要使用的函式時,這個時候就可以選擇使用區域性變數,還是很有必要的。可以避免傳入函式中的同名變數名在函式內被修改而影響指令碼全域性變數的值。特別是指令碼在不同函式中使用索...