我正在尝试启动位于 /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
。
最后,我当然建议您安装邮件传输代理(即使只有一个在您的机器上传递邮件的代理),在这种情况下,您会在邮箱中收到错误消息。