Shell发送邮件+附件
AI-摘要
WenWen GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
记录一次拉胯VPS运营商服务器的操作,端口各种被修改,迫使自动备份数据库和网站数据,然后通过shell自动文件发送到邮箱
先去邮箱申请开通POP或者SMTP服务,在此不做说明只写服务端配置
一、服务器安装邮箱依赖
yum -y install sendmail
yum install -y mailx
二、安装完后启动sendmail命令查询运行状态
service sendmail start
service sendmail status
二、配置发件人信息
vim /etc/mail.rc #如果没有"vim"请使用"vi",或者使用"yum -y install vim"安装后再操作
#打开文件后在最后面加上以下内容
set from=xxxxxx@qq.com #显示的发件人邮箱
set smtp=smtp.qq.com #邮件服务器
set smtp-auth-user=xxxxx@qq.com #发件人邮箱账号
set smtp-auth-password=password #发件人邮箱授权码
set smtp-auth=login #登录
三、发送邮件测试
#通过文件内容发送
mail -s 'mail test' xxx@qq.com < con.txt
#通过管道符直接发送
echo "this is my test mail" | mail -s 'mail test' xxx@qq.com
#带附件发送
echo "this is my test mail" | mail -a /root/client.c -s 'mail test' xxx@qq.com
四、将备份目录下的文件压缩并通过邮箱发送
脚本1,将一个目录压缩并发送:
#!/bin/bash
FROM_EMAIL="发件人(请保持与第二步的信息一致)"
TO_EMAIL="收件方1,收件方2"
# Compress all files in /www/backup/database directory into a single file
#将/www/backup/database目录中的所有文件压缩到一个文件中
tar -czf /tmp/database.tar.gz /www/backup/database/*
# Send email with compressed file as attachment
#以压缩文件作为附件发送电子邮件
echo -e "`date "+%Y-%m-%d %H:%M:%S"` : Please check the attached database backup." | mailx \
-r "From:TingWin <${FROM_EMAIL}>" \
-a /tmp/database.tar.gz \
-s "【Critical】: DSHS database backup" ${TO_EMAIL}
# Remove temporary compressed file
#删除临时压缩文件
rm /tmp/database.tar.gz
脚本2,将两个不同目录压缩并发送:
#!/bin/bash
FROM_EMAIL="发件人(请保持与第二步的信息一致)"
TO_EMAIL="收件方1,收件方2"
DATABASE_DIR="/www/backup/database/"
SITE_DIR="/www/backup/site/"
TEMP_DIR=$(mktemp -d)
# Copy all files from database and site directories to temporary directory
#将数据库和站点目录中的所有文件复制到临时目录
cp -r "${DATABASE_DIR}"* "${TEMP_DIR}/"
cp -r "${SITE_DIR}"* "${TEMP_DIR}/"
# Archive all files in temporary directory as a single zip file
#将临时目录中的所有文件存档为单个zip文件
ZIP_FILE="${TEMP_DIR}/backup.zip"
zip -r "${ZIP_FILE}" "${TEMP_DIR}/"
# Send email with zip file attachment and message
#发送带有zip文件附件和消息的电子邮件
echo -e "$(date "+%Y-%m-%d %H:%M:%S") : Please check the backup attachment." | mailx \
-r "From: alertAdmin <${FROM_EMAIL}>" \
-a "${ZIP_FILE}" \
-s "Backup" "${TO_EMAIL}"
# Delete temporary directory and zip file
#删除临时目录和zip文件
rm -rf "${TEMP_DIR}"
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文内容可能来自互联网,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 404N
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果