我有一個bash腳本在postgres中運行查詢,它輸出到csv。我想添加到該腳本來使用mailx將.csv文件發送到特定的電子郵件。Bash腳本使用mailx郵件附件
我遇到的問題是它不會通過電子郵件發送文件。我可以收到電子郵件,所以我知道mailx設置正確。我無法通過電子郵件將它作爲附件發送給我。它也可以通過電子郵件發送電子郵件中的輸出。
所以這裏是代碼。
#!/bin/bash
NOWDATE=`date +%m-%d-%Y`
PGPASSWORD=password psql -w -h host -p 5432 -d database -U user -o /tmp/folder/file-$NOWDATE.csv <<EOF
Query is here
# remove the first 2 lines of the report as they are headers
sed -i '2d' /tmp/folder/file-$NOWDATE.csv
uuencode /tmp/folder/file-$NOWDATE.csv | mailx -s "Accounts No Credit Card Report for '$NOWDATE'" [email protected]
我曾嘗試與mailx的部分:
uuencode /tmp/folder/file-$NOWDATE.csv /tmp/folder/file-$NOWDATE.csv | mailx -s "Accounts No Credit Card Report for '$NOWDATE'" [email protected]
和
uuencode /tmp/folder/file-$NOWDATE.csv file-$NOWDATE.csv | mailx -s "Accounts No Credit Card Report for '$NOWDATE'" [email protected]
所以我得到的問題是,當我運行sh文件就吐出了這個錯誤。
uuencode: fopen-ing /tmp/folder/file-01-11-2011.csv: Unknown system error
路徑'/ tmp/folder/file- $ NOWDATE.csv'是否正確?在你有這個文件的地方做一個'pwd'並仔細檢查。當'/ path/to/file'不存在時發生此錯誤。 – 2012-01-11 22:33:39
此外,'sed -i'2d'filename'刪除第二行,而不是**前兩個。爲了刪除前兩行,你需要執行'sed -i'1,2d'filename' – 2012-01-11 22:37:21
Jaypal。我同意評論是錯誤的我發現我只需要刪除第二行...我先刪除了第一個和第二個。大聲笑...好吧,我會檢查出來。 – DoCnTex 2012-01-11 22:39:08