如何让 crontab 将其作业的输出通过电子邮件发送给我?我有MAILTO=redacted@yahoo.com.au上面的工作,但它不起作用。
我知道我需要使用 Postfix 或 Sendmail 之类的东西,但在我的一生中,我不知道如何实现这一点。我已经搜索并搜索了有关设置 Postfix 的简单指南,但它们都非常复杂,并希望您设置整个服务器来发送和接收电子邮件并了解所有术语(例如,什么是域名用于外发电子邮件?)。
我想要做的就是让 crontab 给我发电子邮件。为什么这么难??
附加信息:
我的 crontab 文件如下所示:
MAILTO=redacted@yahoo.com.au
1 0 * * * ~/Desktop/toskymesh.sh
59 6 * * * ~/Desktop/tooptus.sh
0 3 * * * snapraid sync
Run Code Online (Sandbox Code Playgroud)
更多附加信息:
的输出 ps -ef | grep '[s]endmail'
root 6840 1370 0 10:26 ? 00:00:00 sendmail: MTA: accepting connections
Run Code Online (Sandbox Code Playgroud)
我确信 cron 正在工作,但echo Test | mail -s Test redacted@yahoo.com.au无论如何我正在测试邮件命令。
在 gmail.com 上,我看到了这个:
已使用 15 GB 的 0.38 GB (2%)
我的 30 GB 分区中有 20 GB 装满了 Ubuntu 的东西,但可能只有 1 GB 的重要文件,那么为什么不使用这个免费的云存储进行备份呢?
是否已经有一个程序可以做到这一点?反正我可能会写一个,但在开始之前想问问。
我还想要文件压缩和分段,因为有些系统有 10 MB 的附件限制(比如工作中的那个)。
谢谢 :)
当我尝试postfix在我的家庭桌面系统上安装时,我得到一个配置对话框,其中包含以下选项1:
我的主要兴趣是让我的桌面上运行的非交互式程序(主要是守护进程和 cron 作业)能够向我的手机(发送到我当前的电子邮件地址或手机上的 SMS 客户端)发送通知。
如果这样的通知也可以在本地发送给root用户,那将非常方便,但这是次要的要求。
我的桌面系统通过 ISP (Xfinity) 连接到互联网。
我想从一开始就排除了选项 1。
能够向我当前(即非“本地”)电子邮件地址发送邮件的要求排除了选项 5。
这留下了选项 2、3 和 4,但我无法从上面的描述中找出我应该选择哪个。
编辑:赏金描述中有一个错字(不幸的是,我无法再修复);它说的地方
...选项(1)中提到的“互联网站点”究竟是什么,...
应该
......选项(2)中提到的“互联网站点”究竟是什么,......
编辑 2:阅读我的问题的第一个答案后,我意识到我写的赏金描述不够明确。在此描述中,我为我的电子邮件地址、我的 ISP 和我的主机名提供了(虚构但真实的)值。我还要求避免像www.example.org. 我将所有这些规定放在赏金描述中,因为我希望答案包含原始问题中指定的用例的后缀配置文件。很抱歉我没有在赏金描述中明确说明这一点(尽管这就是我所说的“详细说明”)。
1各种选项的描述是从对话框中逐字复制的。
我有 cron 设置来每天早上备份并将其通过电子邮件发送到我的 Gmail 帐户,效果很好。一个令人讨厌的副作用是,每当我使用 sudo 输入错误的密码时,我也会收到一封烦人的电子邮件:
我用谷歌搜索了一下,但找不到如何关闭此电子邮件功能。
/etc/sudoers#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL …Run Code Online (Sandbox Code Playgroud)