qdumpfs 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bc8d8dec60fe04598e9dd5bea8528f5299a7cbb7ee0f0432c3b6d46488917edf
4
- data.tar.gz: '029dffccca2865524f208d28f2ebe2f63b2de465e0a5f08de93c597156fd48a9'
3
+ metadata.gz: 5a538d62022eefe0216aeebb5a145a9e58da17fec71b6e5568a05e6e3f0e5234
4
+ data.tar.gz: c4998bacaa329ddbccf59e97ffacc1f70f6c9e0e771a5684bce9b1231dbf1539
5
5
  SHA512:
6
- metadata.gz: 9c393b76dddd9978adf5dfc77cfb25f3c14bfb9b1aca0767228b8b4c70fdf11206f4a35c9e0f5098b1c7ba1e3b113dc8f51de3ad14b48d39fe1dff8dd21309f1
7
- data.tar.gz: 054605d2b4f91e2c0fdbd0518614b81a9f04f0ba378f0d92c5aba28c59456ae88c40dfb156579295c10130c248fc314197bd03398f18435cd1e0596696f444f2
6
+ metadata.gz: aa1a042fa12c461a65f66757ecc1966976672947d88de8e885141e128eea04c2d8cbdea9f833e3da5c52b28a28d24047e17142f12af47e204f9317ae04bd571b
7
+ data.tar.gz: 82467662b3415937881e00f85396783e096d6c3643a6bf5a469e9cae931887087edc6ba54795c1296097342f03c896a69e6223fe0697f6e9a3760109033c90e9
data/Gemfile.lock CHANGED
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- qdumpfs (0.8.0)
4
+ qdumpfs (0.9.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- minitest (5.14.2)
10
- rake (13.0.1)
9
+ minitest (5.14.3)
10
+ rake (13.0.3)
11
11
 
12
12
  PLATFORMS
13
13
  ruby
data/lib/qdumpfs.rb CHANGED
@@ -51,6 +51,7 @@ module Qdumpfs
51
51
  opt.on('--backup-at=YYYYMMDD', 'backup at YYYY/MM/DD') {|v|
52
52
  opts[:backup_at] = Date.parse(v)
53
53
  }
54
+ opt.on('-d', '--debug', 'debug mode') {|v| opts[:d] = v }
54
55
  opt.parse!(argv)
55
56
  option = Option.new(opts, argv)
56
57
  if opts[:v]
@@ -64,8 +65,10 @@ module Qdumpfs
64
65
  command = Command.new(option)
65
66
  command.run
66
67
  rescue => e
67
- # p e.message
68
- # p e.backtrace
68
+ if option.debug
69
+ p e.message
70
+ p e.backtrace
71
+ end
69
72
  puts opt.help
70
73
  exit
71
74
  end
@@ -170,7 +173,7 @@ module Qdumpfs
170
173
  # ファイルのアップデート
171
174
  update_file(s, l, t)
172
175
  dirs[t] = File.stat(s) if File.ftype(s) == "directory"
173
- rescue Errno::ENOENT, Errno::EACCES => e
176
+ rescue => e
174
177
  wprintf("%s: %s", src, e.message)
175
178
  next
176
179
  end
@@ -205,7 +208,7 @@ module Qdumpfs
205
208
  end
206
209
  chown_if_root(type, s, t)
207
210
  dirs[t] = File.stat(s) if File.ftype(s) == "directory"
208
- rescue Errno::ENOENT, Errno::EACCES => e
211
+ rescue => e
209
212
  wprintf("%s: %s", s, e.message)
210
213
  next
211
214
  end
@@ -141,15 +141,17 @@ module Qdumpfs
141
141
  @keep_day = $1.to_i if keep =~ /(\d+)D/
142
142
  @delete_from = @opts[:delete_from]
143
143
  @delete_to = @opts[:delete_to]
144
- @delete_dirs = @opts[:delete_dirs]
144
+ @delete_dirs = @opts[:delete_dirs] || []
145
145
  @backup_at = @opts[:backup_at]
146
146
  @today = Date.today
147
+ @debug = @opts[:d]
147
148
  end
148
149
  attr_reader :dirs, :src, :dst, :cmd
149
150
  attr_reader :keep_year, :keep_month, :keep_week, :keep_day
150
151
  attr_reader :logdir, :logpath, :verifypath
151
152
  attr_reader :logger, :matcher, :reporter, :interval_proc
152
153
  attr_reader :delete_from, :delete_to, :delete_dirs, :backup_at
154
+ attr_reader :debug
153
155
 
154
156
  def report(type, filename)
155
157
  if @opts[:v]
data/lib/qdumpfs/util.rb CHANGED
@@ -73,14 +73,14 @@ module QdumpfsFind
73
73
  yield file.dup.taint
74
74
  begin
75
75
  s = File.lstat(file)
76
- rescue Errno::ENOENT, Errno::EACCES, Errno::ENOTDIR, Errno::ELOOP, Errno::ENAMETOOLONG => e
76
+ rescue => e
77
77
  logger.print("File.lstat path=#{file} error=#{e.message}")
78
78
  next
79
79
  end
80
80
  if s.directory? then
81
81
  begin
82
82
  fs = Dir.entries(file, :encoding=>'UTF-8')
83
- rescue Errno::ENOENT, Errno::EACCES, Errno::ENOTDIR, Errno::ELOOP, Errno::ENAMETOOLONG => e
83
+ rescue => e
84
84
  logger.print("Dir.entries path=#{file} error=#{e.message}")
85
85
  next
86
86
  end
@@ -107,23 +107,22 @@ module QdumpfsUtils
107
107
 
108
108
  # We don't use File.copy for calling @interval_proc.
109
109
  def copy_file(src, dest)
110
- File.open(src, 'rb') {|r|
111
- File.open(dest, 'wb') {|w|
112
- block_size = (r.stat.blksize or 8192)
113
- begin
110
+ begin
111
+ File.open(src, 'rb') {|r|
112
+ File.open(dest, 'wb') {|w|
113
+ block_size = (r.stat.blksize or 8192)
114
114
  i = 0
115
115
  while true
116
116
  block = r.sysread(block_size)
117
117
  w.syswrite(block)
118
118
  i += 1
119
119
  @written_bytes += block.size
120
- # @interval_proc.call if i % 10 == 0
121
120
  end
122
- rescue EOFError => e
123
- # puts e.message, e.backtrace
124
- end
121
+ }
125
122
  }
126
- }
123
+ rescue EOFError => e
124
+ # puts e.message, e.backtrace
125
+ end
127
126
  unless FileTest.file?(dest)
128
127
  raise "copy_file fails #{dest}"
129
128
  end
@@ -1,4 +1,4 @@
1
1
  module Qdumpfs
2
- VERSION = "0.8.0"
2
+ VERSION = "0.9.0"
3
3
  end
4
-
4
+
data/run_qdumpfs.sh CHANGED
@@ -1,4 +1,4 @@
1
1
  #!/bin/sh
2
2
 
3
3
  curdir=$(dirname $0)
4
- bundle exec ruby $curdir/exe/qdumpfs $*
4
+ bundle exec ruby $curdir/exe/qdumpfs "$@"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qdumpfs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - src
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-22 00:00:00.000000000 Z
11
+ date: 2021-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler