我正在运行一个bash脚本,将文件传输到我的AWS桶。如果我通过终端运行bash脚本,它可以正常工作(通过./myBash.sh)。 但是我把它放在我的crontab中,但它没有用。这是我的bash脚本
#!/斌/庆典s3cmd put /home/anonymous/commLogs.txt s3:// myBucket /
echo transfer completed
现在回显列出s3存储桶中的文件
s3cmd ls s3:// myBucket /
回音检查
这是我的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从cron运行bash脚本(46 13 * * * sudo myBash.sh)
4)尝试在没有/ bin / bash的情况下运行bash
5)在网上搜索了许多网站以获得答案而没有令人满意的结果
任何人都可以帮我解决问题所在吗?(我正在运行Ubuntu 14.04)
答案 0 :(得分:0)
对于任何人来这篇文章。 我有同样的问题,原因是crontab在root用户下运行,而s3cmd是在ubuntu用户下配置的。 所以需要将.s3cfg复制到root
RendererRecyclerViewAdapter adapter = new RendererRecyclerViewAdapter(getContext());
recyclerView.setAdapter(adapter);
adapter.registerRenderer(getModalProductViewRenderer());
adapter.registerRenderer(...); //if you need you can create other renderers
adapter.setItems(getPrescriptionListModal());
答案 1 :(得分:0)
很长一段时间后出现同样的错误,我只是这样做了:
<br>
SHELL=/bin/bash <br>
PATH=/bin:/sbin:/usr/bin:/usr/sbin
* * * * * /bin/bash /home/joaovitordeon/Documentos/test.sh