crontab 不执行脚本

crontab 不执行脚本

我正在尝试启动位于 /Documents/scripts/startup.sh 的脚本,该脚本仅包含sudo mount /dev/sda1 /mnt启动时的命令。我通过执行crontab -e并附加到 crontab 将其添加@reboot /Documents/scripts/startup.sh到 crontab。但是在启动时,检查 /mnt 显示驱动器未安装。我还通过执行验证了 crontab 是否正在运行sudo service cron status并且它正在运行。我将不胜感激任何有关此事的帮助。

编辑:添加服务日志

May 02 11:20:24 jovan-desktop CRON[995]: pam_unix(cron:session): session opened for user root by (uid=0)
May 02 11:20:24 jovan-desktop CRON[1036]: (root) CMD (sudo mount dev/sda1 /mnt)
May 02 11:20:24 jovan-desktop CRON[1035]: (jovan) CMD (/home/jovan/Documents/scripts/startup.sh)
May 02 11:20:24 jovan-desktop CRON[996]: (CRON) info (No MTA installed, discarding output)
May 02 11:20:24 jovan-desktop CRON[996]: pam_unix(cron:session): session closed for user jovan
May 02 11:20:24 jovan-desktop sudo[1037]:     root : TTY=unknown ; PWD=/root ; USER=root ; COMMAND=/usr/bin/mount dev/sda1 /mnt
May 02 11:20:24 jovan-desktop sudo[1037]: pam_unix(sudo:session): session opened for user root by (uid=0)
May 02 11:20:24 jovan-desktop sudo[1037]: pam_unix(sudo:session): session closed for user root
May 02 11:20:24 jovan-desktop CRON[995]: (CRON) info (No MTA installed, discarding output)
May 02 11:20:24 jovan-desktop CRON[995]: pam_unix(cron:session): session closed for user root

谢谢。

答案1

(root) CMD (sudo mount dev/sda1 /mnt)

这缺少//dev/sda1

(jovan) CMD (/home/jovan/Documents/scripts/startup.sh)

它以您的 (jovan) 身份运行。您不能指望它以某种方式猜出您的密码来进行身份验证sudo,不是吗 ;) 我想说将其放在sudo非交互式脚本的任何地方都是错误的。

请注意,对于在启动时挂载文件系统,/etc/fstab文件。您只需在此处添加文件系统,启动脚本(或systemd)就会挂载它,除非您将其标记为noauto

最后,我当然建议您安装邮件传输代理(即使只有一个在您的机器上传递邮件的代理),在这种情况下,您会在邮箱中收到错误消息。

相关内容