2012-07-13 81 views
0

我正在RH 5上编写一个BASH部署脚本。脚本运行良好并在脚本运行结束时发送一封电子邮件。但是,我需要做的是,在脚本结尾处,如果检测到任何故障,我需要将日志文件复制回本地服务器以附加到电子邮件。ssh脚本和复制文件

脚本可以检测到错误,如何将日志文件复制回来。我不想只记录日志文件,因为它们可能很大。

有什么建议吗?

感谢

小号

+0

这个问题与您指定为标记的'ssh'无关。我建议你去掉那个标签。 – arkascha 2012-07-13 11:51:40

回答

0

如果我理解正确的话您的问题,您应该使用scp http://linux.die.net/man/1/scp

,在这里你可以找到如何自动登录,所以你可以在脚本 使用http://linuxproblem.org/art_9.html

+0

当然,我可以使用scp,但是,我已经ssh目标机器和运行脚本。那么是否有可能在同一个ssh会话中复制文件(而不是启动新的ssh/scp会话)? – user1231737 2012-07-13 12:18:23

+0

我刚刚使用一个新的scp从那里到你的机器,但这些可能是你要找的:1) http://superuser.com/questions/380127/how-to-retrieve-files- to-local-machine-when-logged-in-to-ssh 2)http://unix.stackexchange.com/questions/2857/ssh-easily-copy-file-to-local-system – SirBif 2012-07-13 13:31:38

0

我看不到任何简单的方法避免第二次登录scp/sftp。如果你确定,这只是将返回你可以做类似下面的日志文件:

ssh -e none REMOTE SCRIPT | gzip -dc > LOGFILE 

里面SCRIPT您有类似gzip -c LOGFILE如果失败的时候。