From 20a83df2f3c91d626201a839a5f0a3b137ecd766 Mon Sep 17 00:00:00 2001 From: jumao Date: Mon, 2 Oct 2023 18:53:02 -0400 Subject: [PATCH] https://github.com/sonic-net/sonic-buildimage/pull/16466 fixing based on review comments: To move saidump.sh from this repo to sairedis repo. --- syncd/scripts/saidump.sh | 43 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100755 syncd/scripts/saidump.sh diff --git a/syncd/scripts/saidump.sh b/syncd/scripts/saidump.sh new file mode 100755 index 000000000..5d5e504e9 --- /dev/null +++ b/syncd/scripts/saidump.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -e + +function debug() +{ + /usr/bin/logger "$1" +} + +save_saidump_by_rdb() { + local filepath="/var/run/redis/sonic-db/database_config.json" + + #Get hostname, port, redis directory + local redis_config=$(python3 -c " +import json +with open('$filepath') as json_file: + data = json.load(json_file) + print(data['INSTANCES']['redis']['hostname'], data['INSTANCES']['redis']['port'], data['INSTANCES']['redis']['unix_socket_path'])") + + #split + redis_config=(${redis_config// / }) + local hostname=${redis_config[0]} + local port=${redis_config[1]} + local redis_dir=`dirname ${redis_config[2]}` + debug "saidump.sh: hostname:$hostname, port:$port, redis_dir:$redis_dir" + + debug "saidump.sh: [1] Config Redis consistency directory." + redis-cli -h $hostname -p $port CONFIG SET dir $redis_dir > /dev/null + + debug "saidump.sh: [2] SAVE." + redis-cli -h $hostname -p $port SAVE > /dev/null + + debug "saidump.sh: [3] Run rdb command to convert the dump files into JSON files." + rdb --command json $redis_dir/dump.rdb | tee $redis_dir/dump.json > /dev/null + + debug "saidump.sh: [4] Run saidump -r to update the JSON files' format as same as the saidump before. Then we can get the saidump's result in standard output." + saidump -r $redis_dir/dump.json -m 100 + + debug "saidump.sh: [5] Clear the temporary files." + rm -f $redis_dir/dump.rdb + rm -f $redis_dir/dump.json +} + +save_saidump_by_rdb \ No newline at end of file