linux scp输出为日志文件

hgncfbus  于 2023-04-11  发布在  Linux
关注(0)|答案(4)|浏览(502)

我是一个使用scp的新手-我正在尝试在ec2上做一些简单的事情-类似于以下内容:

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

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

btxsgosb

btxsgosb1#

如果使用verbose(-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
rkue9o1l

rkue9o1l2#

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

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

ie3xauqp

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调试

8aqjt8rx

8aqjt8rx4#

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

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

相关问题