2017-05-19 4 views
0

aws3から最新のバックアップを取得するシェルスクリプトがあります。それは正常に動作しています。しかし、私がcronを使ってリストアをスケジュールすると、それは実行されません。出力を見ると、変数FILEを割り当てることに若干の問題があります。私はなぜcronが異なった振る舞いをするのか分かりません。s3からのcronスクリプトのリストアバックアップが動作しない

エコーから、$ファイルの値は

空である任意の助けいただければ幸いです。

BUCKET="s3://mysite-backup" 
FILE=`aws s3 ls $BUCKET --recursive | sort | tail -n 1 | awk '{print $4}'` 
echo $BUCKET 
echo $FILE 

/usr/local/bin/aws s3 cp $BUCKET/$FILE /data/restore_dir 

答えて

2

cronは、自分の殻にあなたが持っているすべての環境変数を持っていないので、/usr/local/binはクーロンのPATHにないかもしれません。 awsへの完全なパスを指定してください:

FILE=`/usr/local/bin/aws s3 ls $BUCKET --recursive | sort | tail -n 1 | awk '{print $4}'` 
+0

ありがとうブライアン、私はここでawsのパスを逃しています。それは今働いている! – user1774599

+0

こんにちは@ user1774599、これまたは任意の回答があなたの質問を解決した場合は、チェックマークをクリックして[受諾](http://meta.stackexchange.com/q/5234/179419)を検討してください。これは、あなたが解決策を見つけ出し、回答者とあなた自身の両方に評判を与えていることを広範なコミュニティに示します。これを行う義務はありません。 –

関連する問題