我是一个使用scp的新手-我正在尝试在ec2上做一些简单的事情-类似于以下内容:
scp -i ec2key.pem username@ec2ip:/path/to/file ~/path/to/dest/folder/file
我想要的是上述命令的日志(即屏幕输出到文本文件)-有没有办法实现这一点?谢谢。
btxsgosb1#
如果使用verbose(-v)参数,则可以使用&>重定向命令的两个输出(stdout,stderr)。否则,scp将抑制输出,因为它期望其stdout连接到终端。但是这样会得到太多信息,可以使用grep消除这些信息:
-v
&>
scp
stdout
grep
scp -v -i ec2key.pem username@ec2ip:/path/to/file ~/path/to/dest/folder/file |& grep -v ^debug > file.log
如果您希望同时将输出输出到屏幕和文件,请使用tee
tee
scp -v -i ec2key.pem username@ec2ip:/path/to/file ~/path/to/dest/folder/file |& grep -v ^ debug tee file.log
rkue9o1l2#
scp -v -i ec2key.pem username@ec2ip:/p/t/file ~/p/t/d/f/file >> something.log 2>&1
-v和2>&1将在现有的something.log文件中附加您的扩展详细信息(即调试信息)。
2>&1
something.log
ie3xauqp3#
例如,如果您想将scp文件夹传输与nohup结合使用:触摸/tmp/scp_nohup. log && nohup scp -v -r -o 'ProxyJump username1@ip1:port1' username2@ip2:/remote_path /local_path〉/tmp/scp_nohup. log|& tail -F -s 0.5/tmp/scp_nohup. log|grep -v调试
nohup
8aqjt8rx4#
如何(未经测试,压缩/path/to以提高可读性):
/path/to
(scp -i ec2key.pem username@ec2ip:/p/t/file ~/p/t/d/f/file ) 2>/p/t/textfile
4条答案
按热度按时间btxsgosb1#
如果使用verbose(
-v
)参数,则可以使用&>
重定向命令的两个输出(stdout,stderr)。否则,scp
将抑制输出,因为它期望其stdout
连接到终端。但是这样会得到太多信息,可以使用grep
消除这些信息:如果您希望同时将输出输出到屏幕和文件,请使用
tee
rkue9o1l2#
-v
和2>&1
将在现有的something.log
文件中附加您的扩展详细信息(即调试信息)。ie3xauqp3#
例如,如果您想将scp文件夹传输与
nohup
结合使用:触摸/tmp/scp_nohup. log && nohup scp -v -r -o 'ProxyJump username1@ip1:port1' username2@ip2:/remote_path /local_path〉/tmp/scp_nohup. log|& tail -F -s 0.5/tmp/scp_nohup. log|grep -v调试
8aqjt8rx4#
如何(未经测试,压缩
/path/to
以提高可读性):