首页 > 解决方案 > 为什么我的 bash 脚本可以在终端中运行,但在使用 crontab 时却不行?

问题描述

为什么我的 bash 脚本可以在终端中运行,但在使用 crontab 时却不行?

我运行流行操作系统(Debian/Ubuntu)

我的 crontab 行:

0 * * * * /bin/bash root /home/henry/yupdate.sh > /dev/null 2>&1

这是我的脚本 yupdates.sh:

#!/bin/bash

PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
sudo apt update 
sudo apt upgrade -y  
flatpak update -y

该脚本在终端中运行良好。

crontab 在我的 /var/log/syslog 中运行

Jul 30 17:00:01 pop-os CRON[17989]: (root) CMD (/bin/bash root
/home/henry/yupdate.sh > /dev/null 2>&1)

我做错了什么?

标签: bashcron

解决方案


用户名在系统 crontab 中运行的命令之前。采用

0 * * * * root /bin/bash /home/henry/yupdate.sh > /dev/null 2>&1

反而。


推荐阅读