bash - 为什么我的 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)
我做错了什么?
解决方案
用户名在系统 crontab 中运行的命令之前。采用
0 * * * * root /bin/bash /home/henry/yupdate.sh > /dev/null 2>&1
反而。
推荐阅读
- java - 需要 Java 的应用程序有奇怪的选项卡命名
- assembly - arm gcc Linker and .word
- sql - PostgreSQL copy to a new table with one extra column. How?
- django - Can't get a simply Django app to build on Docker (Must have Postgres + Mysql support)
- hyperledger-fabric - hyperledger for uncentralized database
- python - Calculate Open Rate (Sum of Engaged / Sum of Nudged) for last 3 weeks at ID level
- javascript - 使用 C# 访问 JS 变量
- android - 使用低功耗蓝牙解锁 Linux
- javascript - 我可以取消承诺的执行吗?试图检查数千个链接并且不想等待请求超时
- django - 如何使用 django-filter 的 Filter.method 自定义过滤