我是比较新的使用scp - 我试图在EC2做一些简单的东西 - 像下面这样:SCP输出日志文件
scp -i ec2key.pem [email protected]:/path/to/file ~/path/to/dest/folder/file
我想有是的日志上面的命令(即屏幕输出到文本文件) - 有没有办法实现这一点?
谢谢。
我是比较新的使用scp - 我试图在EC2做一些简单的东西 - 像下面这样:SCP输出日志文件
scp -i ec2key.pem [email protected]:/path/to/file ~/path/to/dest/folder/file
我想有是的日志上面的命令(即屏幕输出到文本文件) - 有没有办法实现这一点?
谢谢。
你可以用&>
命令的两个输出(标准输出,标准错误)重定向只要您使用详细(-v
)的说法。否则,scp
将抑制输出,因为它预计将其stdout
连接到终端。但你得到太多的信息,您可以得到grep
排除:如果你想有输出都到屏幕和文件
scp -v -i ec2key.pem [email protected]:/path/to/file ~/path/to/dest/folder/file |& grep -v ^debug > file.log
,使用tee
scp -v -i ec2key.pem [email protected]:/path/to/file ~/path/to/dest/folder/file |& grep -v^debug tee file.log
怎么样(未经测试,压缩/path/to
的可读性):
(scp -i ec2key.pem [email protected]:/p/t/file ~/p/t/d/f/file) 2>/p/t/textfile
这种方法不适用于scp出于某种原因 - 因此是我的问题'&> 2'和'2>'根本不适用于scp :(不知道为什么。 – JohnJ
scp -v -i ec2key.pem [email protected]:/p/t/file ~/p/t/d/f/file >> something.log 2>&1
-v
和2>&1
将在现有的something.log
文件中附加扩展详细信息(即调试信息)。
我以前尝试过第一种方法 - 但是对于scp,它可以工作,你可以自己试试看,它基本上写出一个空文件。 – JohnJ
查看我的更新回答 – damienfrancois
非常感谢你的帮助(你为我节省了很多时间!) - 你的第一个方法对我来说是完美的,把你的答案作为正确的答案,只是一个小小的后续问题:如果我想将'$ date'追加到上面的file.log中,怎么处理呢?再次感谢 – JohnJ