![Anacron 退出状态 128](https://linux22.com/image/1160405/Anacron%20%E9%80%80%E5%87%BA%E7%8A%B6%E6%80%81%20128.png)
我想每周进行一次 git 提交,因此我想使用 anacron。
因此我在 /etc/anacrontab 中添加了以下行
7 1 AGDienste.weekly /bin/sh /home/bjoern/Hockey/cronWeeklyAGDiensteGitCommit.sh
cronWeeklyAGDiensteGitCommit.sh 的内容是
#!/bin/sh
cd /home/bjoern/Hockey/AGDienste
git add .
git commit --allow-empty -m "Weekly duties update `date +'%Y-%m-%d %H:%M'`"
git push
手动运行此脚本完全没问题。但尝试使用sudo anacron -f
以下行执行 anacron 时,结果如下:/var/log/syslog
Sep 20 23:13:52 XPS-9370 anacron[7087]: Will run job `AGDienste.weekly' in 1 min.
Sep 20 23:13:52 XPS-9370 anacron[7087]: Will run job `cron.daily' in 5 min.
Sep 20 23:13:52 XPS-9370 anacron[7087]: Will run job `cron.weekly' in 10 min.
Sep 20 23:14:52 XPS-9370 anacron[7087]: Job `AGDienste.weekly' started
Sep 20 23:14:53 XPS-9370 anacron[7087]: Job `AGDienste.weekly' terminated (exit status: 128) (mailing output)
Sep 20 23:14:53 XPS-9370 anacron[7087]: Can't find sendmail at /usr/sbin/sendmail, not mailing output
有人可以帮忙吗?
答案1
好的,我找到了问题所在。
我推送到的仓库是 github 仓库,所以我需要提供电子邮件和密码。我已经提供了它们,并git config credential.helper store
以普通用户身份保存了它们。但 anacron 必须以 root 身份运行,因此它还需要一次电子邮件和密码。所以我运行了
sudo -s
/bin /sh /home/bjoern/Hockey/cronWeeklyAGDiensteGitCommit.sh
一次并手动提供。现在,sudo anacron -f
工作完美。