手动执行可以,交给 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/ #上传当天网站备份
![]() | 1 ch2 2021-04-18 16:59:24 +08:00 用绝对路径 |
3 renmu123 2021-04-18 17:21:23 +08:00 via Android cosmod 这个命令用绝对路径 |
![]() | 4 joeyv2 OP @renmu123 这 2 条算绝对路径吗? /root/buckup/web_xxxx_blog_20210418_172801.tar.gz |
![]() | 5 stille 2021-04-18 17:32:59 +08:00 via iPhone 我是直接在 crontab 上写计划 coscmd 的,你先试试是不是变量的问题,或者加参数 -rfs |
![]() | 7 SenLief 2021-04-18 18:18:41 +08:00 coscmd crontab 中的命令需要用绝对路径,比如 /usr/bin/coscmd 。 |
8 mercury233 2021-04-18 18:56:16 +08:00 cron 执行的东西会缺环境变量,可能需要补上,最常见的就是 path |
![]() | 9 joeyv2 OP |
![]() | 10 itechify PRO ![]() 环境变量问题,在 crontab 执行的脚本 source 你的 shell 的环境初始化脚本,或者干脆用绝对路径 |