linux - bash 脚本不能通过 crontab 工作

标签 linux bash shell

我正在运行一个将文件传输到我的 AWS 存储桶的 bash 脚本。如果我通过我的终端运行 bash 脚本,它工作正常(通过 ./myBash.sh)。 但是我把它放在我的 crontab 中但是它不起作用。这是我的 bash 脚本

#!/bin/bash

s3cmd put /home/anonymous/commLogs.txt s3://myBucket/

echo transfer completed

echo now listing files in the s3 bucket

s3cmd ls s3://myBucket/

echo check

这是我的 crontab-

SHELL=/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

46 13 * * * /bin/bash myBash.sh

这是我已经尝试过的事情的列表 -

1) 尝试使用节点应用程序运行 crontab 以测试 crontab 是否正常工作(答案是肯定的)

2) 尝试在没有 SHELL 和 PATH 的情况下运行 crontab

3)尝试使用 sudo (46 13 * * * sudo myBash.sh) 从 cron 运行 bash 脚本

4) 尝试在没有/bin/bash 的情况下运行 bash

5) 在网上搜索了很多网站都没有满意的结果

任何人都可以帮我解决问题吗?(我正在运行 Ubuntu 14.04)

最佳答案

经过很长一段时间出现同样的错误,我只是这样做了:

SHELL=/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin


* * * * * /bin/bash /home/joaovitordeon/Documentos/test.sh

关于linux - bash 脚本不能通过 crontab 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44197088/

相关文章:

bash - 如何在 UNIX 中将 "19-FEB-12"之类的字符串转换为纪元日期

shell - Shell 脚本中的字符串连接错误

macos - 执行后退出终端

linux - 当您使用 "npm install -g"安装节点模块时,npm 将全局安装的文件放在哪里?

c - Linux C 编程 - FTP 服务器不会通过套接字响应

linux - 创建新文件夹并将 '/var/www/' 中存在的所有文件和文件夹复制到其中以备份所有代码文件的 Linux 命令是什么?

linux - 如果写出从1到4321的数字,数字 '5'会出现多少次?

c# - 调查 .net core linux kubernetes 容器内存泄漏的正确方法是什么

bash - 查找进程的所有祖先和子进程

python - Bash别名自动检测任意命名的文件序列?