尝试在远程计算机(ec2实例)上运行riak-admin backup riak@ec2-xxx.compute-1.amazonaws.com riak /home/user/backup.dat all
时遇到以下错误消息
{"init terminating in do_boot",{{nocatch,{could_not_reach_node,'riak@ec2-xxx.compute-1.amazonaws.com'}},[{riak_kv_backup,ensure_connected,1,[{file,"src/riak_kv_backup.erl"},{line,171}]},{riak_kv_backup,backup,3,[{file,"src/riak_kv_backup.erl"},{line,40}]},{erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,572}]},{init,start_it,1,[]},{init,start_em,1,[]}]}}
我假设存在连接/权限错误,因为如果在实例上本地运行(当然使用本地节点ip),相同的备份命令将起作用,我应该注意服务器(Node.js)可以远程连接到该ip所以港口是开放的,可以访问8098)。关于如何远程操作备份的任何建议?
答案 0 :(得分:1)
似乎riak-admin backup
命令无法远程工作 - 当然这不是我曾尝试过的事情。我建议设置定期备份(通过cron或类似方式),然后使用rsync
将备份文件下载到本地。
或者,您可以针对单个脚本尝试以下hacky未经测试的想法。
#!/bin/bash
ssh ec2-xxx.compute-1.amazonaws.com "riak-admin backup riak@ip-local-ec2 /home/user/backup.dat all"
rsync -avP ec2-xxx.compute-1.amazonaws.com:/home/user/backup.dat .