如何在守护进程时使Redis dump.rdb保存在目录中

时间:2017-08-02 21:33:44

标签: linux redis jedis redis-py

因此,当我正常启动时,我可以使用dump.rdb中的dir选项来更改redis.conf的位置目录(只需调用redis-server) 。如果我想让redis-server一直运行(我这样做)而不需要总是打开终端窗口,我想我需要守护它。但是,似乎这并不会自动持续存在于磁盘上,并且每当redis-server进程结束时(我只是通过运行redis-cli shutdown来结束测试,或者有时只是使用{{1}来终止进程并且开始备份,所有数据库更改都会丢失,如果将来发生崩溃或意外关闭,这似乎非常糟糕。在运行数据处理的代码中(使用带有redis-py的python或带有jedis的java),我可以显式运行kill PID,但是会在运行代码的目录中保存bgsave()并且而不是dump.rdb

dir选项指定的位置

那么,有没有另一种方法来运行redis-server而不需要一个完整的终端窗口保持打开状态允许我想要做的事情,或者是否有办法让数据在正确的目录中保留在磁盘上以redis.conf或类似方式运行?

1 个答案:

答案 0 :(得分:0)

你可以使用nohup将它放在linux“后台”上。它不需要终端窗口来保持运行。我不知道daemonize选项给你一个建议,但是,看看它是否适合你:

nohup redis-server &> redis.log&

在conf文件中设置daemonize yes并运行:

redis-server path / to / redis.conf