[英]bash script doesn't work through crontab
我正在運行一個將文件傳輸到我的 AWS 存儲桶的 bash 腳本。如果我通過我的終端運行 bash 腳本它工作正常(通過 ./myBash.sh)。 但是我把它放在我的 crontab 中,但它不起作用。這是我的 bash 腳本
#!/bin/bashs3cmd 把 /home/anonymous/commLogs.txt s3://myBucket/
回聲傳輸完成
echo 現在列出 s3 存儲桶中的文件
s3cmd ls s3://myBucket/
回聲檢查
這是我的 crontab-
外殼=/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)
很長一段時間后得到同樣的錯誤,我只是這樣做:
SHELL=/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin
* * * * * /bin/bash /home/joaovitordeon/Documentos/test.sh
對於任何來到這篇文章的人。 我遇到了同樣的問題,原因是 crontab 在 root 用戶下運行,而 s3cmd 是在 ubuntu 用戶下配置的。 所以需要將 .s3cfg 復制到 root
cp -i /home/ubuntu/.s3cfg /root/.s3cfg
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.