固定時間要備份資料庫檔案,
之前想到到用 rclone 備份到 google drive,
但是要設定時要進行2步驟認證,
還有權限會可以讀寫帳號內整個 google drive,
有點不安全。
就改成換用寄 email 附加資料庫檔案,
但是要用 systemd timer 定期執行,
用 bash 指令會比較適合
指令:
echo "content text" | mutt -a "/attachment/file.7z" -s "subject text" -- my.email@gmail.com
在 archlinux 中先安裝2個套件
在 AUR 中的 ssmtp
還有包含 uuencode 的 sharutils
之後設定 ssmtp 設定檔 /etc/ssmtp/ssmtp.conf
root=xxxxx@gmail.com
mailhub=smtp.gmail.com:587
RewriteDomain=gmail.com
Hostname=host.me.idv
FromLineOverride=YES
UseTLS=YES
UseSTARTTLS=Yes
TLS_CA_File=/etc/ssl/certs/ca-certificates.crt
AuthUser=rexct1@gmail.com
AuthPass=my_password
設定檔存檔後就可以用下列指令寄信
信件標題是 mail title
內容是 content text
name.7z 是要附加的檔案
echo -e "to: to_user@gmail.com\nsubject: mail title\ncontent text"| (cat - && uuencode /attach/file/name.7z display_name.7z) | ssmtp to_user@gmail.com
但是上面方法會多產生一個 noname 的附加檔案,
有篇 IBM 文章寫因為不支援 MIME 造成的,Why do I get 'unnamed' or 'noname' attachments when using uuencode and mailx?
https://www.ibm.com/support/pages/why-do-i-get-unnamed-or-noname-attachments-when-using-uuencode-and-mailx
所以加上用 mutt 當前端
echo "content text" | mutt -a "/attachment/file.7z" -s "subject text" -- my.email@gmail.com
Cent OS 7 無法以 mutt 寄信
在 Cent OS 7 安裝mutt後,直接以上方指令寄信會沒反應,
要先手動設定 mutt 設定檔
vim ~/.muttrc
set imap_user = "my_email@gmail.com"
set imap_pass = "my_password"
set smtp_url = "smtp://my_email@smtp.gmail.com:587/"
set smtp_pass = "my_password"
set from = "my_email@gmail.com"
set realname = "my name"
如果出現
No authenticators available
Could not send the message.
下方網頁找到是缺少 cyrus-sasl-plain 套件
If you get "no authenticators available" with mutthttps://groups.google.com/g/qubes-users/c/hL_UGJo1B9s?pli=1
#yum install cyrus-sasl-plain
參考資料:
How do I send a file as an email attachment using Linux command line?
https://stackoverflow.com/questions/17359/how-do-i-send-a-file-as-an-email-attachment-using-linux-command-line
How can I send attachment with ssmtp in Linux?
https://unix.stackexchange.com/questions/44043/how-can-i-send-attachment-with-ssmtp-in-linux
Unable to configure Mutt email client
https://www.linuxquestions.org/questions/linux-newbie-8/unable-to-configure-mutt-email-client-4175513968/
"SASL authentication failed" with mutt and Gmail, why? [closed]
https://askubuntu.com/questions/81924/sasl-authentication-failed-with-mutt-and-gmail-why
沒有留言:
張貼留言