2017-05-26 23 views
0

ファイルをAWSバケットに転送するbashスクリプトを実行しています。端末からbashスクリプトを実行すると、./myBash.shを介してうまく動作します。 !// myBucket: 私はそこに私のcrontabにそれを置くが、しかし、それはwork.Thisが私のbashスクリプトではありませんbashスクリプトがcrontabで動作しない

#/ binに/ bashの

は/home/anonymous/commLogs.txt S3入れs3cmd // myBucket/

ECH:/

エコー転送が

は現在、S3バケット

s3cmd LS S3のファイルをリストエコー

を完了しましたO

をチェックして、これは私のcrontab-

SHELL =/binに/ shの

PATH =は/ usr/local/sbinにある:は/ usr/local/binに:/ sbinに:/ビン:は/ usr/sbinにします。/ usr/binに

46 13 * * */binに/ bashのmyBash.sh

そして、ここで私はareadyしようとしているもののリストです -

1)シェルとPATH

3なしのcrontabを実行しようとした)

2(答えがイエスであった)のcrontabが働いていたかどうかをテストするノードアプリでcrontabを実行しようとした)を実行してみましたsudoを使用するcronからbashスクリプトは(46 13 * * * sudoのmyBash.sh)

4)/ binに/ bashをせずに

5をbashのを実行しようとした)に満足することなく、答えのためのネット上の多くのサイトを検索しました結果

誰でも問題の可能性を教えてください。(私はUbuntu 14.04を実行しています)

+0

をrootに.s3cfgコピーする必要があります出力のcronからそのファイルの内容だったか、ファイルへのスクリプトの標準出力をしましたか? ( '46 13 * * */bin/bash myBash.sh>/home/anonymous/cron_out.txt') –

+0

このスクリプトは、crontabがbashを実行していたかどうかをテストすることだけでした.txtファイルの内容ただ "abcdefgh"だった –

+0

だからあなたはしなかった。上記のようなcronでスクリプトへのパスを除外しましたか? –

答えて

0

私は同じ問題を抱えていました。なぜならcrontabはrootユーザーで実行されていて、s3cmdはubuntuユーザーの下で設定されていたからです。 そう

cp -i /home/ubuntu/.s3cfg /root/.s3cfg 
関連する問題