Ubuntu crontab 命令 无法正常定时运行 shell 脚本

2024-03-29 01:32:39 +08:00
 WilliamColton
系统为 Ubuntu 23.10

脚本内容如下:


可正常手动运行

crontab 配置如下(这里省略了前面一大串东西,仅保留了自己添加的配置)

* * * * * /bin/bash /home/***/push.sh

(手动给我的用户名打个码)

时区正常(按照搜到的教程检查无误,而且每分钟执行一次的话应该和时区关系也不大)

配置文件最后已经换行了
1419 次点击
所在节点    问与答
8 条回复
Routeros
2024-03-29 02:36:17 +08:00
cat /var/log/cron 瞅瞅。
把任务写到脚本文件里面,crontab 直接调用脚本。
cctv6
2024-03-29 02:36:45 +08:00
问题大概是执行脚本的工作目录的问题,脚本虽然能执行,但是脚本的工作目录应该是在用户的家目录下,不是在 git 仓库下,所以失败了。你可以在脚本第一行加一句 cd ,切换到 git 仓库的路径下。
ETiV
2024-03-29 04:01:47 +08:00
除了 PWD 路径问题,还一个是 PATH 环境变量

用 journalctl -u cron 看 log
hawhaw
2024-03-29 06:41:24 +08:00
cron 不能但手动能的问题大概率是环境变量或权限问题。具体看下日志就知道了
hawhaw
2024-03-29 06:42:59 +08:00
看看 /var/mail/xxxxxx 如果你跑 cron 的用户名是 xxxxx 的话
SenLief
2024-03-29 07:23:20 +08:00
发日志啊
JoeJasper
2024-03-29 07:49:40 +08:00
ubuntu 下查看下默认的 shell 是哪个,写脚本做好头部写成 #!/bin/bash 试试
WilliamColton
2024-03-29 08:25:57 +08:00
@cdlnls #2 一语惊醒梦中人,已经正常了,感激不尽!
同时也感谢以上诸位的热心帮助:-)😛

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1027952

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX