class Capistrano::Logger
alias previous_log_method log
def log(level, message, line_prefix=nil)
message = message.gsub(/(sshpass -p) (\S+)/, "\\1 ********")
previous_log_method level, message, line_prefix
end
end
set :password, proc { Capistrano::CLI.password_prompt('パスワード: ') }
run "sshpass -p '#{password}' rsync -a -e 'ssh' UserName@source_host:/source_path/ /destination_path/"
Loggerのところは、そのままだとパスワードが出力されてしまうのでsshpassに渡している-pの引数は********にして伏せて表示するための処理です
0 件のコメント:
コメントを投稿