cron に delete_snapshot.bash を実行させたいのですが、以下のように cron を作成しようとすると:
*/1 * * * * /var/www/mango_gis/delete_snapshot.bash >/dev/null
でスクリプトが実行されませんでした。 Amazon クラウドのスナップショットが削除されていないのに、スクリプトが既に bash でテストされているため、問題なく動作します。
これが私のスクリプトです。
#!/bin/bash
get()
{
local pos=$1
shift
eval 'echo ${'$pos'}';
}
length(){ echo $#; }
find_snapshots()
{
echo $(ec2-describe-snapshots | xargs -n1 basename);
}
snapshots=$(find_snapshots)
len=$(length $snapshots)
row_count=$(($len/6))
if(($row_count > 6)); then
delete_count=$(($row_count-6))
for (( i=1; i<=$delete_count; i++ )); do
ec2-delete-snapshot $(echo $(get $((2+$((6*$(($i-1)))))) $snapshots)) > /dev/null
done
fi
上記で、EC2コマンドの1つのコマンドを呼び出すことが問題であることがわかりました。
このコマンドを呼び出す 1 つの cron ジョブを作成することをテストしましたが、それは ec2-describe-snapshots です
が、機能しません。
お知らせ下さい...
リーキナ