加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 将STDERR发送到记录器

发布时间:2020-12-15 17:00:48 所属栏目:安全 来源:网络整理
导读:我正在编写一个bash脚本来执行异地备份,使用SSH上的rsync.我可以将STDOUT发送到记录器,用于记录日志 rsync --del -az -e 'ssh -i mycrt.crt' /home/gnutt/backup/ me@offisite:backup | logger -i 但是我想要发送STDERR,所以如果出现问题,例如异地不可用,则
我正在编写一个bash脚本来执行异地备份,使用SSH上的rsync.我可以将STDOUT发送到记录器,用于记录日志
rsync --del -az -e 'ssh -i mycrt.crt' /home/gnutt/backup/ me@offisite:backup | logger -i

但是我想要发送STDERR,所以如果出现问题,例如异地不可用,则应将该输出发送到记录器并记录.

如果你想要stderr而不是stdout(而不是stderr和stdout),你可以执行以下操作:

>打开另一个文件描述符(9)
>将stdout(1)重定向到新文件描述符(9)
>将stderr(2)重定向到stdout(1)

看起来像这样:

rsync --del -az -e 'ssh -i mycrt.crt' /home/gnutt/backup/ me@offisite:backup 9> /dev/null 1>&9 2>&1 | logger -i

或者,您可以使用流程替换:

logger -i <( rsync --del -az -e 'ssh -i mycrt.crt' /home/gnutt/backup/ me@offisite:backup > /dev/null )

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读