Mutt作为cron作业失败,使用';不能';t锁定/发送';

Mutt作为cron作业失败,使用';不能';t锁定/发送';,cron,root,mutt,Cron,Root,Mutt,我有一个bash脚本,它从/tmp中提取文件并通过电子邮件发送给我。我以root用户身份运行这个脚本,它工作得非常好,但我正在尝试使用crontab自动化这个脚本 将作业添加到crontab,再次以root用户身份运行,现在我得到“无法锁定/发送” 我在Muttrc中更改了文件名,并在600和777处尝试了权限,从而确认它正在/root中使用该文件 (还出现了一个错误分段错误,希望如果我修复了上面的问题,它会消失。) 任何人都知道为什么Mutt作为一个具有相同用户和相同文件的cron作业是不同的

我有一个bash脚本,它从/tmp中提取文件并通过电子邮件发送给我。我以root用户身份运行这个脚本,它工作得非常好,但我正在尝试使用crontab自动化这个脚本

将作业添加到crontab,再次以root用户身份运行,现在我得到“无法锁定/发送”

我在Muttrc中更改了文件名,并在600和777处尝试了权限,从而确认它正在/root中使用该文件

(还出现了一个错误分段错误,希望如果我修复了上面的问题,它会消失。)

任何人都知道为什么Mutt作为一个具有相同用户和相同文件的cron作业是不同的

我对脚本进行了如下简化,并且做了完全相同的工作,从根shell开始工作,但不在crontab中。 错误:-


我还向作业中添加了printenv,并将其与运行正常的服务器进行了比较。不同之处在于工作系统的USER=root,而非工作系统的USER=root不显示此变量的设置。

问题在于crontab中的
HOME=/
env变量和默认的muttrecord配置的组合,默认为~/sent

mutt将发送的电子邮件存储在记录文件中。因此,选择是否要保留它们(修复crontab的env varHOME或将mutt的记录设置为有意义的值)

如果要设置此选项,请将其添加到电子邮件文件中的mutt命令中:

-e'设置记录=/root/sent'

或者用以下方法取消设置:

-e“取消设置记录”

您可以在手册页中找到更多信息


没有剧本我们就帮不了忙
Couldn't lock /sent
/data/mediators/email_file: line 5:  1666 Segmentation fault      mutt $email -s "test" -i /tmp/test.txt < /dev/null
#!/bin/bash
email=——@——.com
mutt $email -s "test" -i /tmp/test.txt < /dev/null
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=——@—-.com
HOME=/

54 02 * * * root /data/mediators/email_file
record

Type: path
Default: “~/sent”

This specifies the file into which your outgoing messages should be appended. (This is meant as the primary method for saving a copy of your messages, but another way to do this is using the “my_hdr” command to create a “Bcc:” field with your email address in it.)

The value of $record is overridden by the $force_name and $save_name variables, and the “fcc-hook” command. Also see $copy and $