私はこのようなコードを持っています:
set -e
set -x
folderName=$(echo `date +%Y/%m/%d/`);
fileName=x.x.x.x.x.x.x.log
cp x.x.x.x.x.x/$1 $fileName
gzip $fileName
s3cmd put $fileName.gz s3://x.x.x.x.x/$folderName
rm $fileName.gz
私がこのように実行した場合、これは正常に機能しています:
./shell logfilelocation
そして、私がこのようにcrontabに追加したとき:
* * * * * /home/x.x.x/testing/s3 -f x.x.x.log >> /tmp/mys3Log
そして待った!ファイルmys3Log
が作成されます。しかし、それには内容がありません!コマンド実行の結果(set -e ; set -x
コードで使用したように)は、mys3Log
そこでリダイレクトを行っているので、ファイルに入るはずです。
しかし、何かがうまくいかない。私はbashプログラミングとcronに非常に慣れていません。
どこで間違いを犯しているのですか?
前もって感謝します。