zfs_mgmt 0.3.3 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2d748c3781993440f81add0c6f609501457dfee0f66c39bd1ca6013534312608
4
- data.tar.gz: 71349e6012f6ece929a66d0df3626c9adabff11cd520f10120639d7fb72a5380
3
+ metadata.gz: cf232dcb9239cd6f1858e5f26430227bf19c8c33a8b537708fa9cfe1ac7fcde4
4
+ data.tar.gz: beaf85ba9e0fcadd8dd03962989592b1d33415cbafadfbf0b3c654f243fc7c0e
5
5
  SHA512:
6
- metadata.gz: e6de5cb8f68d59a336a4a295afa297a836007a457e944cd8bb80ade1aba8b9869144b7eddd71eeb9b536d85685050bd77c92cb5721ce2b49beffe9faf8ff6914
7
- data.tar.gz: '02569c3d29effdc5be76672513ef6c2e338416b59dd7496025bd75a3f8fe751f57bfb27db56b136dd35879889cf9708000f760adaed61d9587f869b83c7e10cb'
6
+ metadata.gz: 831fb028c42c67942afbac8b35ec6b908ab10c0c9acb3183b19facd32e009ea512629c86af2ad3bc7f8dff9a2c31cf90e4e0317a4c1e32f72a297da3fc826b19
7
+ data.tar.gz: 7a3d8b9c734302d828298b6507d31f1539cc34739f41ff0fc8adddd1c3842a78dbd62b8ba5876ab0893ffb5f8295e187ba1e4232f6aaadfd211fffb0d00f0d0e
data/.gitignore CHANGED
@@ -6,6 +6,7 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /vendor/
9
10
 
10
11
  # rspec failure tracking
11
12
  .rspec_status
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- zfs_mgmt (0.3.1)
4
+ zfs_mgmt (0.3.4)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/bin/zfsmgr CHANGED
@@ -35,6 +35,8 @@ class ZfsMgr < Thor
35
35
  end
36
36
  desc "snapshot SUBCOMMAND ...ARGS", "manage snapshots"
37
37
  subcommand "snapshot", Snapshot
38
+ desc "list SUBCOMMAND ...ARGS", "list filesystems"
39
+ subcommand "list", ZfsMgrList
38
40
  end
39
41
 
40
42
  ZfsMgr.start(ARGV)
data/lib/zfs_mgmt.rb CHANGED
@@ -325,3 +325,26 @@ module ZfsMgmt
325
325
  end
326
326
  end
327
327
  end
328
+ class ZfsMgrList < Thor
329
+ class_option :filter, :type => :string, :default => '.+',
330
+ :desc => 'only act on zfs matching this regexp'
331
+ desc "stale", "list all zfs with stale snapshots"
332
+ method_option :age, :desc => "timeframe outside of which the zfs will be considered stale", :default => '1d'
333
+ def stale()
334
+ cutoff = Time.at(Time.now.to_i - ZfsMgmt.timespec_to_seconds(options[:age]))
335
+ table = Text::Table.new
336
+ table.head = ['zfs','snapshot','age']
337
+ table.rows = []
338
+ ZfsMgmt.zfs_managed_list(filter: options[:filter]).each do |blob|
339
+ zfs,props,snaps = blob
340
+ last = snaps.keys.sort { |a,b| snaps[a]['creation'] <=> snaps[b]['creation'] }.last
341
+ snap_time = Time.at(snaps[last]['creation'])
342
+ if snap_time < cutoff
343
+ table.rows << [zfs,last,snap_time]
344
+ end
345
+ end
346
+ if table.rows.count > 0
347
+ print table.to_s
348
+ end
349
+ end
350
+ end
@@ -1,3 +1,3 @@
1
1
  module ZfsMgmt
2
- VERSION = "0.3.3"
2
+ VERSION = "0.3.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zfs_mgmt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aran Cox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-27 00:00:00.000000000 Z
11
+ date: 2021-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler