2017-07-21 13 views
-1

filterとregexでスナップショットを取得してから、すべてを削除するwhileループを実行するcronジョブを作成しました。ssh cronjob with whileは1回だけ実行します

cronjobが実行された後、最初の項目だけが削除されていますが、削除する必要があります。

これはスクリプトです:

*/5 * * * * sudo gcloud compute snapshots list --filter="creationTimestamp<$(date -d "-1 day" "+%Y-%m-%d")" --regexp "(.*my-instance-name.*)" --uri | while read SNAPSHOT_URI; do gcloud compute snapshots delete $SNAPSHOT_URI; done 

私は問題は、コマンドの後にそれが尋ねるということだと思う「あなたは(Y/N)を継続しますか?」

Somewhy、最初はデフォルトではYですが、他の場合はY/nを待つので、最初のものだけが削除されます。

フィルタから選択したすべてのスナップショットが削除されるように修正する方法を知りたい人は誰ですか?

答えて

0

使用をyを求めることなくスナップショットを削除し、非常モードに-q/Nは

*/5 * * * * sudo gcloud compute snapshots list --filter="creationTimestamp<$(date -d "-1 day" "+%Y-%m-%d")" --regexp "(.*my-instance-name.*)" --uri | while read SNAPSHOT_URI; do gcloud -q compute snapshots delete $SNAPSHOT_URI; done 
+0

ありがとう助けるかもしれません。私は最後に-qを書こうとしましたが、うまくいきませんでした。そして、gcloudの後にうまくいく。 –

関連する問題