簡體   English   中英

bash 腳本無法通過 crontab 工作

[英]bash script doesn't work through crontab

我正在運行一個將文件傳輸到我的 AWS 存儲桶的 bash 腳本。如果我通過我的終端運行 bash 腳本它工作正常(通過 ./myBash.sh)。 但是我把它放在我的 crontab 中,但它不起作用。這是我的 bash 腳本

#!/bin/bash

s3cmd 把 /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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM