2016-03-20 72 views
1

我想我可能已經搞亂了我的redis配置。使用nodeBB我試圖與git共享我的.rdb文件,因爲我想共享我的本地env和我的服務器上的數據。Redis沒有dump.rdb只有temp.rdb?

在查找.rdb文件的過程中,我做了redis-cli,然後CONFIG GET *結果是下面的輸出。通常它給了我一個dump.rdb的路徑,但在這種情況下不能。

我只是在測試幸運的是,但之前的數據以某種方式失蹤。我找不到它。

127.0.0.1:6379> CONFIG GET * 
    1) "dbfilename" 
    2) "temp.rdb" 
    3) "requirepass" 
    4) "" 
    5) "masterauth" 
    6) "" 
    7) "unixsocket" 
    8) "" 
    9) "logfile" 
10) "" 
11) "pidfile" 
12) "/var/run/redis.pid" 
13) "maxmemory" 
14) "0" 
15) "maxmemory-samples" 
16) "5" 
17) "timeout" 
18) "0" 
19) "tcp-keepalive" 
20) "0" 
21) "auto-aof-rewrite-percentage" 
22) "100" 
23) "auto-aof-rewrite-min-size" 
24) "67108864" 
25) "hash-max-ziplist-entries" 
26) "512" 
27) "hash-max-ziplist-value" 
28) "64" 
29) "list-max-ziplist-entries" 
30) "512" 
31) "list-max-ziplist-value" 
32) "64" 
33) "set-max-intset-entries" 
34) "512" 
35) "zset-max-ziplist-entries" 
36) "128" 
37) "zset-max-ziplist-value" 
38) "64" 
39) "hll-sparse-max-bytes" 
40) "3000" 
41) "lua-time-limit" 
42) "5000" 
43) "slowlog-log-slower-than" 
44) "10000" 
45) "latency-monitor-threshold" 
46) "0" 
47) "slowlog-max-len" 
48) "128" 
49) "port" 
50) "6379" 
51) "tcp-backlog" 
52) "511" 
53) "databases" 
54) "16" 
55) "repl-ping-slave-period" 
56) "10" 
57) "repl-timeout" 
58) "60" 
59) "repl-backlog-size" 
60) "1048576" 
61) "repl-backlog-ttl" 
62) "3600" 
63) "maxclients" 
64) "4064" 
65) "watchdog-period" 
66) "0" 
67) "slave-priority" 
68) "100" 
69) "min-slaves-to-write" 
70) "0" 
71) "min-slaves-max-lag" 
72) "10" 
73) "hz" 
74) "10" 
75) "cluster-node-timeout" 
76) "15000" 
77) "cluster-migration-barrier" 
78) "1" 
79) "cluster-slave-validity-factor" 
80) "10" 
81) "repl-diskless-sync-delay" 
82) "5" 
83) "cluster-require-full-coverage" 
84) "yes" 
85) "no-appendfsync-on-rewrite" 
86) "no" 
87) "slave-serve-stale-data" 
88) "yes" 
89) "slave-read-only" 
90) "yes" 
91) "stop-writes-on-bgsave-error" 
92) "no" 
93) "daemonize" 
94) "no" 
95) "rdbcompression" 
96) "yes" 
97) "rdbchecksum" 
98) "yes" 
99) "activerehashing" 
100) "yes" 
101) "repl-disable-tcp-nodelay" 
102) "no" 
103) "repl-diskless-sync" 
104) "no" 
105) "aof-rewrite-incremental-fsync" 
106) "yes" 
107) "aof-load-truncated" 
108) "yes" 
109) "appendonly" 
110) "no" 
111) "dir" 
112) "" 
113) "maxmemory-policy" 
114) "noeviction" 
115) "appendfsync" 
116) "everysec" 
117) "save" 
118) "3600 1 300 100 60 10000" 
119) "loglevel" 
120) "notice" 
121) "client-output-buffer-limit" 
122) "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60" 
123) "unixsocketperm" 
124) "0" 
125) "slaveof" 
126) "" 
127) "notify-keyspace-events" 
128) "" 
129) "bind" 
130) "" 

任何想法如何找到dump.rdb?

回答

2

由於dir config密鑰設置爲空字符串,因此您可能在redis啓動目錄中找到了dump.rdb。如果你不知道它是什麼,在linux上你可以通過執行ls -l /proc/$(pidof redis-server)/cwd來找到它。

+0

這是結果'lrwxrwxrwx 1 mike mike 0 Mar 19 23:14/proc/6391/cwd - >/redis_data(刪除)' –

+0

@MichaelJosephAubry很好,這是有問題的。那麼您可能無法訪問該文件。如何對一個實際存在的目錄執行'config set dir',然後用'bgsave'來確保DB被寫出來? – hobbs

+0

好酷非常有幫助。所以,我應該考慮什麼?我真的很高興能夠手動設置目錄,因爲那就是我所需要的。 –