【发布时间】:2015-12-05 07:30:12
【问题描述】:
我在 /etc/init.d/redis-snapshot 的文件中创建了一个 bash 初始化脚本:
#!/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 .
由于某种原因它不起作用,我不知道下一步该尝试什么。
有什么好主意吗?
【问题讨论】:
-
这是适合您的发行版的命令吗?这是否更新了
/etc/rc#.d目录中的正确链接?此时您的发行版是否使用初始化脚本?还是转移到upstart或systemd? -
@EtanReisner 我在 Ubuntu 14 上。我执行的命令确实表明在 rc 目录中设置了正确的链接
-
您看到正确的链接吗? Ubuntu 14 不是使用
upstart而不是sysvinit吗?那么您不应该使用与upstart相关的适当命令来代替update-rc.d吗? (或者update-rc.d也适用于upstart?)
标签: linux bash shell redis init