我在/etc/init.d/redis-snapshot
:
#!/bin/bash
### BEGIN INIT INFO
# Provides: redis-snapshot
# Required-Start: $local_fs $syslog Stime redis-server
# Required-Stop: $local_fs $syslog $time redis-server
# Default-Start: 0 6
# Default-Stop: 2 3 4 5
# Short-Description: Backup redis data on system exit
# Description: redis-snapshot is a simple bash script to dump redis data
# to disk whenever the system shuts down or reboots.
### END INIT INFO
# path to script log file
ACTIVITYLOG='/home/noman/Desktop/redis-snapshot.log'
# create/touch log file
touch $ACTIVITYLOG
# invoke the save command on redis-cli
# this will dump all in-memory data to disk
OUTPUT="$(redis-cli SAVE)"
echo -e "$(date +'%Y-%m-%d %H:%M:%S %Z')\tSnapshoting Redis Data To Disk" >> $ACTIVITYLOG
echo -e "$(date +'%Y-%m-%d %H:%M:%S %Z')\tRedis says $OUTPUT" >> $ACTIVITYLOG
# end - nothing to do
我正在使用以下命令使其在系统重启和关闭时运行:
sudo update-rc.d redis-snapshot start 99 0 6 .
由于某种原因它不起作用,我无法在接下来尝试什么。
有什么好主意吗?
答案 0 :(得分:0)
您的基础发行版和发行版是什么? 试试
chkconfig --add redis-snapshot
答案 1 :(得分:0)
如果您希望明确了解脚本是否已运行,可以尝试跳过输出重定向到文件,这样您就可以在启动过程中看到它或在启动后检查/var/log/boot.log
。
如果缺少输出,则表示您的脚本未添加到/etc/rc#.d
。
在启动时运行脚本的另一种方法(我更喜欢)是通过/etc/rc.local
。 E.g:
bash /root/script.sh
exit 0