bash脚本无法通过crontab工作

时间:2017-05-26 08:34:18

标签: linux bash shell

我正在运行一个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)

2 个答案:

答案 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