2017-05-16 3 views
0

내 Couchbase 암호에 괄호가 포함되어있어 cbbackupwrapper에 문제가 발생합니다 (cbbackup은 정상적으로 작동합니다). 괄호가 포함 된 암호로 cbbackupwrapper가 작동하지 않습니다.

내가 실행 해요 명령입니다 : cbbackupwrapper http://HOST:8091/백업 디렉토리 --username 관리자 --password 'XXXX (XXXXXXXX'--mode DIFF --bucket 소스 BUCKET_NAME - 단일 노드

이 출력됩니다.? 백업이 너무 빨리 완료하고 성공적으로 완료되지 않습니다 말을

Waiting for the backup to complete... 
/bin/sh: 1: Syntax error: "(" unexpected 
/bin/sh: 1: Syntax error: "(" unexpected 
/bin/sh: 1: Syntax error: "(" unexpected 
/bin/sh: 1: Syntax error: "(" unexpected 
/bin/sh: 1: Syntax error: "(" unexpected 
/bin/sh: 1: Syntax error: "(" unexpected 
/bin/sh: 1: Syntax error: "(" unexpected 
/bin/sh: 1: Syntax error: "(" unexpected 
/bin/sh: 1: Syntax error: "(" unexpected 
/bin/sh: 1: Syntax error: "(" unexpected 
/bin/sh: 1: Syntax error: "(" unexpected 
SUCCESSFULLY COMPLETED! 

없이

아이디어 사람

답변

1

파이썬 스크립트의 버그처럼 보입니다. 커맨드 라인을 빌드 할 때 비밀번호 (그리고 다른 인수)를 실제로 인용해야합니다. 이 패치로 문제를 해결할 수 있습니다 :

--- /opt/couchbase/lib/python/cbbackupwrapper.orig 2017-05-16 11:03:36.045523102 +0300 
+++ /opt/couchbase/lib/python/cbbackupwrapper 2017-05-16 11:04:08.427692842 +0300 
@@ -17,6 +17,7 @@ 
import threading 
import time 
import urllib2 
+import pipes 

"""Written by Daniel Owen [email protected] on 27 June 2014 
Version 1.4 Last updated 10 July 2014 
@@ -356,7 +357,7 @@ 
     command_line = '"' + os.path.join(path, backup_exe) + '"' + ' -v -t 1 --vbucket-list=' \ 
      + ''.join(str(chunk).split()) + ' http://' + node + ':' + rest + ' ' \ 
      + '"' + os.path.join(backupDir, vbucketsname) + '"' + ' -u ' + args.username \ 
-   + ' -p ' + args.password + extra_options + mode_options + ssl_option + specific_bucket \ 
+   + ' -p ' + pipes.quote(args.password) + extra_options + mode_options + ssl_option + specific_bucket \ 
      + ' 2> ' + '"' + os.path.join(backupDir, 'logs', vbucketsname) + '.err' + '"' 
     process_queue.put(command_line) 
+0

완벽 함. 감사! – yosi1984