蓝天~白云 2023-06-13 15:39 采纳率: 0%
浏览 19

ubuntu中cron命令不能全部执行

问题遇到的现象和发生背景

#!/bin/bash
./etc/profile
.~/.bash_profile
date
docker ps |grep database
docker exec -ti database_service /bin/bash -c '
mongo -usensekeeper -psensekeeper --authenticationDatabase sensekeeper <<EOF
use sensekeeper;
db.recognition.chunk.find({expireAt:{$lte:new Date(Date.now() - 202460601000)}},{expireAt:1,_id:0}).count();
exit
EOF
exit ‘
date
ubuntu中shell脚本手动可以执行成功,但在cron不会执行。是docker exec -ti database_service /bin/bash -c ' .' 是条内容不执行

操作环境、软件版本等信息

ubuntu docker

尝试过的解决方法

添加环境变量

我想要达到的结果

可以执行

  • 写回答

1条回答 默认 最新

  • 小杰911 2023-06-13 16:00
    关注

    可能是因为cron运行时环境变量不同导致无法找到相应的命令或文件路径。建议在脚本开头加上#!/bin/bash和设置PATH变量来确保环境一致。另外,docker exec命令需要root权限才能执行,可能需要在cron中使用sudo来执行。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月13日

悬赏问题

  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗