在 cronjob ubuntu 服务器中需要 sudo 来发送 logwatch 文件

在 cronjob ubuntu 服务器中需要 sudo 来发送 logwatch 文件

我在 ubuntu 服务器上配置了 logwatch,以在 /tmp/logwatch.html 中创建 html 文件

我还安装了 sendEmail smpt 发送器。

我试图像这样使用 sendEmail:

sendEmail -v -f [email protected] -s smtp.gmail.com:587 -xu username -xp xxxpassword -t mymail -o tls=yes -u Security Audit -m logwatch Reports -a /tmp/logwatch.html

它给我错误无法找到文件,显然是因为 logwatch.html 是用 600 权限创建的。

如果我使用 sudo 执行此操作,它就可以工作并且我可以正确收到邮件。

问题是我需要创建 bash 脚本并按 cron 执行它。

bash 中的 sudo 不起作用,对吧?如果你处在我的位置,你会怎么做?我更喜欢一个简单的解决方案。

  1. 让logwatch写入文件并设置权限666。但我找不到这个选项。
  2. 在 bash 文件中写入 sudo,但是如何传递密码?
  3. 还要别的吗?

答案1

要以 root 身份执行 cron 作业,您不需要在sudo每次运行脚本时都使用它。

只需将其添加到 root 的 crontab 中:

sudo crontab -e

相关内容