crontab 的执行问题

2016-12-07 16:16:05 +08:00
 hanyang

我写了一个 letsencrypt 的自动续期脚本,手动是可以执行的 但是使用 crontab 执行不成功。 请问这是怎么回事?? 这是 脚本

cd /root/letsencrypt/
./letsencrypt-auto certonly --webroot --webroot-path /usr/local/nginx/html -d hanyang.me -d www.hanyang.me --agree-tos --email 513915503@qq.com --renew-by-default
cd /usr/local/nginx/sbin/
./nginx -s reload

这是 crontab

40 12 7 * * sh /root/renew.sh
4266 次点击
所在节点    Linux
26 条回复
Infernalzero
2016-12-07 22:45:06 +08:00
40 12 7 * * . /etc/bashrc;/bin/bash /root/renew.sh
xiuc001
2016-12-07 22:49:30 +08:00
执行的时候报错会执行失败的,但是看上去像没执行一样
TaMud
2016-12-08 01:30:40 +08:00
SHELL=/bin/bash
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin

指令,脚本内指令,全部用绝对路径
TaMud
2016-12-08 01:31:04 +08:00
crontab -e
增加
SHELL=/bin/bash
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
在最顶端
justyy
2016-12-08 07:14:11 +08:00
很久之前写的一个工具 https://helloacm.com/crontab-generator/
hanyang
2016-12-08 08:38:59 +08:00
@eoo 就是需要加上 --text --non-interactive 这两个 flag

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

https://www.v2ex.com/t/325949

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

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

© 2021 V2EX