我正在运行一个简单的rsync
脚本,我在其中记录两个不同的文件,stdout
以及.stderr
rsync_stdout.log
rsync_stderr.log
当我尝试使用电子邮件发送 rsync_stderr.log 的内容时:
echo $(cat rsync_stderr.log) | ssmtp [email protected]
我收到一个空白的电子邮件正文,但是当我这样做时:
echo $(cat rsync_stdout.log) | ssmtp [email protected]
然后我在电子邮件正文中的标准输出日志没有问题。
它与rsync
's 的stderr
输出文件有关吗?
我以详细的方式运行 ssmtp:
[<-] 250 2.1.5 OK b48smxxx70wrb.1 - gsmtp
[->] DATA
[<-] 354 Go ahead b48smxxxxxx70wrb.1 - gsmtp
[->] Received: by XXXNAS (sSMTP sendmail emulation); Tue, 19 Dec 2017 01:14:47 +0100
[->] From:"XXXNAS" <XXXNAS>>
[->] Date: Tue, 19 Dec 2017 01:14:47 +0100
[->] rsync: delete_file: unlink(.AppleDB/log.0000000001) failed: Permission denied (13)
[->] rsync: delete_file: unlink(.AppleDB/lock) failed: Permission denied (13)
[->] rsync: delete_file: unlink(.AppleDB/db_errlog) failed: Permission denied (13)
[->] rsync: delete_file: unlink(.AppleDB/cnid2.db) failed: Permission denied (13)
[->] rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178)
[->] [sender=3.1.2]
[->]
[->] .
[<-] 250 2.0.0 OK 1513642487 b48sxxxxxxrb.1 - gsmtp
[->] QUIT
[<-] 221 2.0.0 closing connection b4xxxxxwrb.1 - gsmtp
所以我可以看到正在发送的文本,但电子邮件的正文只是空白。
我也试过ssmtp [email protected] < rsync_stderr.log
,但它也不起作用。
在用户 almendrico 让我上路后,我使用了:
sed 's/[\:]//g'
删除:
字符。不是很优雅,但很有效。