linux - 运行查找命令并通过电子邮件发送结果

标签 linux bash email sendmail

我想使用查找命令来获取早于 8640 分钟的文件并将结果发送到电子邮件正文中。我使用了这个脚本,它使用了一个文件 - ATTACH_FILE - 包含查找命令的结果:

#!/bin/sh
ATTACH_FILE="/pub/email_attach.txt"
WORK_DIR="/pub/"
rm -f $ATTACH_FILE
find $WORK_DIR -maxdepth 1 -name '*x.rsd' -type f -daystart -mmin +8640 -exec echo {} >> $ATTACH_FILE \;

if [ ! -z $ATTACH_FILE ]; then
    FILESIZE=$(stat -c%s "$ATTACH_FILE" 2>> getLatestErr.log)
    echo $ATTACH_FILE "size $FILESIZE bytes"
    if [ $FILESIZE -gt 0 ]; then
       cat $ATTACH_FILE | mail -s "Test "$TODAY mmm@server.com
    fi
fi

如何在不使用辅助文件 ATTACH_FILE 的情况下通过将消息放入电子邮件正文来获得相同的结果?

最佳答案

您可以使用-e 选项来邮件。这告诉它在输入为空时不要执行任何操作。

find $WORK_DIR -maxdepth 1 -name '*x.rsd' -type f -daystart -mmin +8640 -print | mail -e -s "Test "$TODAY mmm@server.com

关于linux - 运行查找命令并通过电子邮件发送结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32396245/

相关文章:

macos - Sendmail/postfix 邮件无法从本地 Mac OS X (Mountain Lion) 发送

python - 在 Faker python 中使用名字和姓氏生成电子邮件地址

c - Debian 中 login_cap.h 的 rlim_t 错误

mysql - 在没有密码提示和使用 shell 变量作为密码的情况下在 Ubuntu Natty 上安装 MySQL

python - 限制TCP发送速率

linux - 从无尽的管道狂欢中阅读

linux - 如何自动响应 Linux Bash 脚本中的提示?

asp.net - 有没有办法通过电子邮件发送 ASP.NET 中的所有输入控件值

linux - 在没有 rootfs 的情况下使用 Bare initramfs

linux - 使用 gnu-coreutils、bash 获取二进制文件的一部分