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