2016-12-07 10 views
0

私が進める前に、stackoverflowや他のフォーラムで述べたすべての方法を試しましたが、CentOS 6.8サーバーで何も動作していないことを教えてください。CRONTABでAWSコマンドが実行されない

#!/bin/bash 
aws s3 sync "s3://my_bucket/my_folder/" "/var/www/html/james/downloads/my_folder/"; 

しかし、cronのタブがそれを実行したときに何も作業していない。ここで

である私はcrontabの

00 5 * * * /usr/bin/aws /var/www/html/james/crons/s3_downloader.sh 

そしてs3_downloader.shファイルの完全な内容で書かれたものです。しかし、私はサーバー上のコマンドライン画面でそれを実行すると、すべて正常に動作します。

私のサーバーは、(rootユーザを使用して)AWSパスにインストールされてい

は/ usr/binに/ AWSたAWSを使用して)

ここ

は、私がしようとしている方法である(が、何も私のために働いていません):

- >ファイルの内容にAWSのパスを変更:

#!/usr/bin/aws 
aws s3 sync "s3://my_bucket/my_folder/" "/var/www/html/james/downloads/my_folder/"; 

- >でしたROOTコンソール上のエクスポート設定

export AWS_CONFIG_FILE="/root/.aws/config" 
export AWS_ACCESS_KEY_ID=XXXX 
export AWS_SECRET_ACCESS_KEY=YYYY 

編集: 私はcrontabファイルからのログに応答を記録し

usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] 
To see help text, you can run: 

    aws help 
    aws <command> help 
    aws <command> <subcommand> help 
aws: error: argument command: Invalid choice, valid choices are: 

ここでいっぱい応答である:http://pastebin.com/XAKQUVzT

編集2

よりデバッグした後、私は(cronのログで)出てくるエラーが表示されます:

ENV:/var/www/html/james/crons/s3_downloader.sh:許可

+0

「/ var/www/html/james/crons/s3_downloader.sh」とそれを含むすべてのフォルダのアクセス許可( 'ls -ld')は何ですか? – Brian

答えて

1

あなたのcrontabエントリが間違っているを否定しました。シェルスクリプトの名前(/var/www/html/james/crons/s3_downloader.sh)をパラメータとして/usr/bin/awsに渡しました。

aws s3 syncをcrontabエントリから直接呼び出すか、シェルスクリプトを呼び出して(シェルスクリプト呼び出しをaws s3 syncにする)、両方を実行しようとしているはずです。

したがって、crontabエントリを変更してシェルスクリプトを実行します(シェルスクリプトが実際に実行可能であることを確認してください)。

00 5 * * * /var/www/html/james/crons/s3_downloader.sh 
+0

でも、ログでエラーは同じです - http://pastebin.com/XAKQUVzT – Thompson

+1

シェルスクリプトは#!/ bin/bashまたは#!/ usr/bin/awsで始まりますか?前者を使用してください。 – jarmod

関連する問題