crontab 无法执行 coscmd 上传文件到对象存储

2021-04-18 16:57:42 +08:00
 joeyv2

手动执行可以,交给 crontab 就不行。 tar 是执行了,也输出了压缩包。就是没上传到 COS 。 输出日志里提示:

coscmd: not found

这是脚本部分代码

#!/bin/sh

OUT_NAME=XXXXX_blog #要备份的名字

OUT_WEB="web_XXXXX_blog_$DATE.tar.gz" #备份网站的文件名

coscmd upload /root/XXXXX_blog_buckup/$OUT_WEB vps_blog/site/$OUT_NAME/ #上传当天网站备份
1158 次点击
所在节点    问与答
11 条回复
ch2
2021-04-18 16:59:24 +08:00
用绝对路径
joeyv2
2021-04-18 17:17:17 +08:00
@ch2 /root/XXXXX_blog_buckup/$OUT_WEB
从 root 开始写不是绝对路径?
renmu123
2021-04-18 17:21:23 +08:00
cosmod 这个命令用绝对路径
joeyv2
2021-04-18 17:31:36 +08:00
@renmu123 这 2 条算绝对路径吗?
/root/buckup/web_xxxx_blog_20210418_172801.tar.gz
stille
2021-04-18 17:32:59 +08:00
我是直接在 crontab 上写计划 coscmd 的,你先试试是不是变量的问题,或者加参数 -rfs
renmu123
2021-04-18 17:38:01 +08:00
@joeyv2 算,但我和一楼说得是 cosmod 这个命令本身,比如:/root/aaa/cosmod
SenLief
2021-04-18 18:18:41 +08:00
coscmd crontab 中的命令需要用绝对路径,比如 /usr/bin/coscmd 。
mercury233
2021-04-18 18:56:16 +08:00
cron 执行的东西会缺环境变量,可能需要补上,最常见的就是 path
joeyv2
2021-04-18 19:04:36 +08:00
oneisall8955
2021-04-18 20:06:35 +08:00
环境变量问题,在 crontab 执行的脚本 source 你的 shell 的环境初始化脚本,或者干脆用绝对路径
ch2
2021-04-18 20:33:37 +08:00
@joeyv2 #2 全部都得是

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

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

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

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

© 2021 V2EX