Hi Alessandro,

Sorry forgot to say this requires you to set CloudMonkey to display json. If 
CloudMonkey display is set to “default” you will get parse error.

Either: In your /<username>/.cloudmonkey/config file set the following:
----
 [ui]
display = json
----

Or do this from command line:
# cloudmonkey list snapshots display=json | jq -r '.snapshot[] | .created + "|" 
+ .id' | sort -r
parse error: Invalid numeric literal at line 1, column 6
# cloudmonkey set display json
# cloudmonkey list snapshots volumeid=21f830d8-b182-41dc-8a10-48ff0a07f299 | jq 
-r '.snapshot[] | .created + "|" + .id + "|" + .state' | sort -r
2016-11-11T14:41:59+0000|418075c1-bcfc-4b9f-b2f2-4e11fb3e111c|BackedUp
2016-11-11T14:41:29+0000|363129bd-ee9b-4301-b46b-a09291f05b98|BackedUp
2016-11-11T14:39:52+0000|fd51897e-725f-40b0-a07d-7bad6cbd7c89|BackedUp
2016-11-11T14:32:57+0000|7f2a7b7d-789d-4056-b287-9b8f8e113e76|BackedUp

One more thing about your script – make sure you also capture the state like 
the above example – if your snapshots aren’t all in state “BackedUp” you should 
probably consider them as not valid for the purpose of maintaining healthy 
snapshots.

Regards,
Dag Sonstebo

On 17/11/2016, 13:40, "Alessandro Caviglione" <[email protected]> wrote:

    Hi Dag,
    thank you very much, I didn't know jq!
    But with your command I get this error:
    
    parse error: Invalid numeric literal at line 1, column 6
    
    I search on Google and I see that it could be a problem of missing double
    quote in the json array... but it's strange because it's not a file but an
    API query results...
    
    On Mon, Nov 14, 2016 at 11:33 AM, Özhan Rüzgar Karaman <
    [email protected]> wrote:
    
    > Hi Dag;
    > Jq looks great it really eliminates lots of long lines of codes in my bash
    > scripts for json parsing. Thanks for sharing this useful tool with us.
    >
    > Thanks
    > Özhan
    >
    > On Fri, Nov 11, 2016 at 5:48 PM, Dag Sonstebo <[email protected]>
    > wrote:
    >
    > > Hi Alessandro,
    > >
    > > “Jq” is your friend here. You would start by just listing all the volume
    > > snapshot ordered by create time – whilst also capturing the snapshot ID:
    > >
    > > # cloudmonkey list snapshots volumeid=21f830d8-b182-41dc-
    > 8a10-48ff0a07f299
    > > | jq -r '.snapshot[] | .created + "|" + .id' | sort -r
    > > 2016-11-11T14:41:59+0000|418075c1-bcfc-4b9f-b2f2-4e11fb3e111c
    > > 2016-11-11T14:41:29+0000|363129bd-ee9b-4301-b46b-a09291f05b98
    > > 2016-11-11T14:39:52+0000|fd51897e-725f-40b0-a07d-7bad6cbd7c89
    > > 2016-11-11T14:32:57+0000|7f2a7b7d-789d-4056-b287-9b8f8e113e76
    > >
    > > Now that you have this list all you need to do is parse it, i.e. any id
    > > entries in line 22 onwards you need to delete, whilst also comparing the
    > > date stamp with (today – 7days).
    > >
    > > Keep in mind your logic though: you should probably retain 21 snapshots
    > no
    > > matter what the age is – if your snapshot script fails to take snapshots
    > –
    > > and you delete all snapshots older than 7  days you could end up 
deleting
    > > all snapshots… (just my twopence worth).
    > >
    > >
    > > Regards,
    > > Dag Sonstebo
    > > Cloud Architect
    > > ShapeBlue
    > >
    > > On 11/11/2016, 14:04, "Alessandro Caviglione" <[email protected]>
    > > wrote:
    > >
    > >     Hi guys,
    > >     I've a Cloudmonkey script under cron that create a Volume Snapshot 
of
    > > a VPS
    > >     at certain hours.
    > >     I had to create this script because client wants to have more than
    > one
    > >     Snapshotfor each day, so through GUI this is not possible.
    > >     Now, could someone help me to delete old Snapshot in the scripts?
    > >     I need to retain 21 Snapshots or delete Snap older than 7 days.
    > >
    > >     Thank you!!
    > >
    > >
    > >
    > > [email protected]
    > > www.shapeblue.com
    > > 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
    > > @shapeblue
    > >
    > >
    > >
    > >
    >
    


[email protected] 
www.shapeblue.com
53 Chandos Place, Covent Garden, London  WC2N 4HSUK
@shapeblue
  
 

Reply via email to