scp输出为logfile

时间:2014-01-18 15:19:08

标签: linux ssh scp

我使用scp相对较新 - 而且我试图在ec2上做一些简单的事情 - 如下所示:

scp -i ec2key.pem username@ec2ip:/path/to/file ~/path/to/dest/folder/file

我想要的是上面命令的日志(即屏幕输出到文本文件) - 有没有办法实现这个?

感谢。

3 个答案:

答案 0 :(得分:2)

如果使用详细(&>)参数,则可以使用-v重定向命令的两个输出(stdout,stderr)。否则,scp将抑制输出,因为它期望其stdout连接到终端。但是你得到的信息太多了,你可以用grep来解决这个问题:

scp -v -i ec2key.pem username@ec2ip:/path/to/file ~/path/to/dest/folder/file |& grep -v ^debug > file.log

如果要将输出同时显示在屏幕和文件中,请使用tee

scp -v -i ec2key.pem username@ec2ip:/path/to/file ~/path/to/dest/folder/file |& grep -v ^ debug tee file.log

答案 1 :(得分:0)

如何(未经测试,压缩/path/to以提高可读性):

(scp -i ec2key.pem username@ec2ip:/p/t/file ~/p/t/d/f/file ) 2>/p/t/textfile

答案 2 :(得分:0)

scp -v -i ec2key.pem username@ec2ip:/p/t/file ~/p/t/d/f/file >> something.log 2>&1

-v2>&1会在现有something.log文件中附加您的扩展详细信息(即调试信息)。