Rsync
ssmtp myaddress@gmail.com < file.log 不起作用。正文為空白
我正在執行一個簡單的
rsync
腳本,我在其中記錄兩個不同的文件,stdout
以及.stderr``rsync_stdout.log``rsync_stderr.log
當我嘗試使用電子郵件發送 rsync_stderr.log 的內容時:
echo $(cat rsync_stderr.log) | ssmtp myaddress@gmail.com
我收到一個空白的電子郵件正文,但是當我這樣做時:
echo $(cat rsync_stdout.log) | ssmtp myaddress@gmail.com
然後我在電子郵件正文中的標準輸出日誌沒有問題。
它與
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 myaddress@gmail.com < rsync_stderr.log
,但它也不起作用。
在使用者 almendrico 讓我上路後,我使用了:
sed 's/[\:]//g'
刪除:
字元。不是很優雅,但很有效。