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

joeyv2 26天前 12

手动执行可以,交给 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/ #上传当天网站备份
最新回复 (11)
  • ch2 9天前
    引用 2
    用绝对路径
  • 楼主 joeyv2 9天前
    引用 3
    @ch2 /root/XXXXX_blog_buckup/$OUT_WEB
    从 root 开始写不是绝对路径?
  • renmu123 9天前
    引用 4
    cosmod 这个命令用绝对路径
  • 楼主 joeyv2 9天前
    引用 5
    @renmu123 这 2 条算绝对路径吗?
    /root/buckup/web_xxxx_blog_20210418_172801.tar.gz
  • stille 9天前
    引用 6
    我是直接在 crontab 上写计划 coscmd 的,你先试试是不是变量的问题,或者加参数 -rfs
  • renmu123 9天前
    引用 7
    @joeyv2 算,但我和一楼说得是 cosmod 这个命令本身,比如:/root/aaa/cosmod
  • SenLief 9天前
    引用 8
    coscmd crontab 中的命令需要用绝对路径,比如 /usr/bin/coscmd 。
  • mercury233 9天前
    引用 9
    cron 执行的东西会缺环境变量,可能需要补上,最常见的就是 path
  • 楼主 joeyv2 9天前
    引用 10
    @renmu123
    @SenLief
    @mercury233
    感谢!
  • oneisall8955 9天前
    引用 11
    环境变量问题,在 crontab 执行的脚本 source 你的 shell 的环境初始化脚本,或者干脆用绝对路径
  • ch2 9天前
    引用 12
    @joeyv2 #2 全部都得是
  • 游客
    13
返回