qdumpfs 1.7.0 → 1.8.1

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: c40a12aea824fb5604c06c594a9ba0fa1b0fbfd6e819bb271ab29047384ead99
4
- data.tar.gz: a2938d403f31fe1cec068ca3d3e91c633d8cb231938c6d181f4954e6202dfe39
3
+ metadata.gz: 84137d9c47fc2201cb2bfc18f8faaa470a3e019d0c17b88990c80e16964f0cbd
4
+ data.tar.gz: abf643910675dca1d31b37eb621db10ba16b612cb3f8626c13a94d0c9b958519
5
5
  SHA512:
6
- metadata.gz: 248fba71422ed863d433f72d4be6ab846ee0f329bf2ad289512a876a66222fb0926d3062fced451335b541da11dd6d5cd3fd407c1fabea22c3f3bd62ea148eb2
7
- data.tar.gz: b549c992447e8a22a955f5218f655e6a5d5f3342fe80ee147ba108023df05353871a6cda8ce1ab3dcbe67e8c0e0e4b0995f5f4e91f7cc1896986632ff19e3fb4
6
+ metadata.gz: cec209e60e35e2d8f791b3fd7de687b148d53f3a17a7ffac0c6802b8808f3c3cbd1aa00b59e3d4951766e76f878bd6c7cef25587d1131485c1e9f7388e9f1b46
7
+ data.tar.gz: 26f587244ecefe4198e52d6ebe6e2c33905dedf1d9df95a4e7a553aed9d1f725adce8337c40b9c7db52d263cf7a152c57e803fe8f65c1eeaea19f23b2947c7bf
data/.gitignore CHANGED
@@ -21,3 +21,4 @@ test*.sh
21
21
  .idea/dataSources.local.xml
22
22
  /sync_d.cmd
23
23
  /test
24
+ *.txt
data/.idea/qdumpfs.iml CHANGED
@@ -32,24 +32,24 @@
32
32
  </library>
33
33
  </orderEntry>
34
34
  <orderEntry type="module-library">
35
- <library name="rake (v13.1.0) [path][gem]" type="rubylib">
35
+ <library name="rake (v13.2.0) [path][gem]" type="rubylib">
36
36
  <properties>
37
37
  <option name="version" value="4" />
38
38
  </properties>
39
39
  <CLASSES>
40
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/rake-13.1.0/doc" />
41
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/rake-13.1.0/exe" />
42
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/rake-13.1.0/lib" />
40
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/rake-13.2.0/doc" />
41
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/rake-13.2.0/exe" />
42
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/rake-13.2.0/lib" />
43
43
  </CLASSES>
44
44
  <JAVADOC />
45
45
  <SOURCES>
46
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/rake-13.1.0/doc" />
47
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/rake-13.1.0/exe" />
48
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/rake-13.1.0/lib" />
46
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/rake-13.2.0/doc" />
47
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/rake-13.2.0/exe" />
48
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/rake-13.2.0/lib" />
49
49
  </SOURCES>
50
50
  <excluded>
51
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/rake-13.1.0/doc" />
52
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/rake-13.1.0/exe" />
51
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/rake-13.2.0/doc" />
52
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/rake-13.2.0/exe" />
53
53
  </excluded>
54
54
  </library>
55
55
  </orderEntry>
data/Gemfile.lock CHANGED
@@ -1,17 +1,19 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- qdumpfs (1.7.0)
4
+ qdumpfs (1.8.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- minitest (5.22.3)
10
- rake (13.2.0)
9
+ minitest (5.25.1)
10
+ rake (13.2.1)
11
11
 
12
12
  PLATFORMS
13
13
  x64-mingw32
14
14
  x86_64-darwin-22
15
+ x86_64-darwin-23
16
+ x86_64-darwin-24
15
17
 
16
18
  DEPENDENCIES
17
19
  bundler (~> 2.0)
@@ -20,4 +22,4 @@ DEPENDENCIES
20
22
  rake (>= 12.3.3)
21
23
 
22
24
  BUNDLED WITH
23
- 2.4.20
25
+ 2.3.27
data/README.md CHANGED
@@ -27,9 +27,12 @@ Options
27
27
 
28
28
  ## 実行例
29
29
 
30
+ ### バックアップ
30
31
 
31
32
  バックアップを実行する場合。
32
33
 
34
+ 「qdumpfs コピー元 コピー先」でバックアップを作成することができます。コピー先が存在する場合差分バックアップとなります。
35
+
33
36
  ```
34
37
  qdumpfs /home/foo /backup
35
38
  ```
@@ -40,31 +43,74 @@ qdumpfs /home/foo /backup
40
43
  qdumpfs --command=backup /home/foo /backup
41
44
  ```
42
45
 
43
- "--command sync"でバックアップフォルダを同期できます。
46
+ ### バックアップフォルダの同期
47
+
48
+ バックアップフォルダを同期することもできます。バックアップディスクが手狭になり、新しいディスクに移行したい場合に便利です。
49
+
50
+ "--command sync"オプションを指定することでバックアップフォルダを同期できます。
51
+
44
52
  ```
45
53
  qdumpfs --command=sync /backup1 /backup2
46
54
  ```
47
55
 
48
56
  バックアップフォルダの同期には膨大な時間が必要な場合があるため、実行時間を制限できます。以下は例えば1時間に制限する場合です。
57
+
58
+ 実行時間が1時間を超えるとそこで処理が終了しますそこから次回継続することができます。
59
+
49
60
  ```
50
61
  qdumpfs --command=sync --limit=1 /backup1 /backup2
51
62
  ```
52
63
 
53
- バックアップフォルダの同期で、1時間でかつ"100Y12M12W30D"を保存する場合のオプションです。
64
+ バックアップフォルダを間引きたい場合、"--keep="オプションを指定することができます。 "100Y12M12W30D"を指定すると、100年間は年に1つ、12ヶ月間は月に1つ、12週間は週に1つ、直近30日間のバックアップを保持します。
65
+ 条件に該当しないバックアップは同期されません。
66
+
54
67
  ```
55
68
  qdumpfs --command=sync --limit=1 --keep=5Y6M7W10D backup1 /backup2
56
69
  ```
57
70
 
71
+ ### バックアップフォルダの削除
72
+
58
73
  "--command expire"で、"--keep="パターンに該当しないバックアップを削除できます。
59
74
  ```
60
75
  qdumpfs --command=expire --limit=1 --keep=5Y6M7W10D backup1 /backup2
61
76
  ```
62
77
 
78
+
79
+ ### バックアップフォルダから指定パターンを削除
80
+
63
81
  "--command delete"で、バックアップに存在する指定したパスを削除できます(間違えてバックアップした内容を削除したい場合などに使用)。
64
82
  ```
65
83
  qdumpfs --command=delete --delete-dir=backup1 --limit=1 r:/backup2
66
84
  ```
67
85
 
86
+ ### バックアップの比較
87
+
88
+ "--command verify"でバックアップを比較することができます。
89
+
90
+ ```
91
+ qdumpfs --command=verify j:/backup/2024/11/01 k:/backup/2024/11/01
92
+ ```
93
+
94
+ ### バックアップファイルの一覧
95
+
96
+ "--command list"でバックアップファイルを一覧表示することができます。
97
+
98
+ ```
99
+ qdumpfs --command=list j:/backup/2024/11/01
100
+ ```
101
+
102
+ 例えばverifyで異なる結果が表示された場合、listした結果をdiffすることができます。
103
+
104
+ ```
105
+ qdumpfs --command=list j:/backup/2024/11/01
106
+ qdumpfs --command=list k:/backup/2024/11/01
107
+ diff list_j__backup_2024_11_01.txt list_k__backup_2024_11_01.txt
108
+ ```
109
+
110
+
111
+
112
+
113
+
68
114
  ## License
69
115
 
70
116
  qdumpfs is a free software with ABSOLUTELY NO WARRANTY under the terms of the GNU General Public License version 2.
data/build.sh CHANGED
@@ -5,15 +5,21 @@ set -x
5
5
  #export NOKOGIRI_USE_SYSTEM_LIBRARIES=1
6
6
 
7
7
  bundle_dir=./vendor/bundle
8
- if [ -d "$bundle_dir" ] ; then
8
+ bundle config --local path $bundle_dir
9
+
10
+ if [ "$1" = "clean" ]; then
11
+ echo "rm -rf $bundle_dir"
9
12
  /bin/rm -rf "$bundle_dir"
10
- bundle update
13
+ /bin/rm Gemfile.lock
14
+ exit 0
15
+ fi
16
+
17
+ if [ -d "$bundle_dir" ] ; then
18
+ echo "bunlde update"
19
+ bundle update
20
+ bundle clean
11
21
  else
22
+ echo "bundle install"
12
23
  /bin/rm -rf "$bundle_dir"
13
- bundle install --path "$bundle_dir"
24
+ bundle install
14
25
  fi
15
-
16
-
17
-
18
-
19
-
@@ -184,7 +184,7 @@ module Qdumpfs
184
184
  end
185
185
  else
186
186
  # 何も指定されていない場合
187
- if type == 'new_file'
187
+ if type == 'new_file' || type == 'symlink'
188
188
  stat = File.stat(filename)
189
189
  size = stat.size
190
190
  msg = format_report(type, filename, size)
data/lib/qdumpfs/util.rb CHANGED
@@ -38,8 +38,9 @@ class File
38
38
  begin
39
39
  File.unlink(dest) if File.anything_exist?(dest)
40
40
  File.symlink(src, dest)
41
- rescue
42
- puts "force_symlink fails #{src} #{dest}"
41
+ rescue => e
42
+ puts "force_symlink fails #{src} #{dest} #{e.message}"
43
+ # puts "File.symlink('#{src}', '#{dest}')"
43
44
  end
44
45
  end
45
46
 
@@ -1,4 +1,4 @@
1
1
  module Qdumpfs
2
- VERSION = "1.7.0"
2
+ VERSION = "1.8.1"
3
3
  end
4
4
 
data/lib/qdumpfs.rb CHANGED
@@ -428,6 +428,8 @@ module Qdumpfs
428
428
  start_time = Time.now
429
429
  log("##### verify start #{fmt(start_time)} #####")
430
430
 
431
+ src = @opt.src
432
+ dst = @opt.dst
431
433
  src_count, dst_count = do_verify(src, dst)
432
434
 
433
435
  fputs(file, "#{src}: #{src_count}")
@@ -508,6 +510,7 @@ module Qdumpfs
508
510
  system("rmdir /S /Q #{win_backup_path}")
509
511
  else
510
512
  # Linux/macOSの場合
513
+ system("chmod -R u+w #{path}")
511
514
  system("rm -rf #{path}")
512
515
  end
513
516
  end
data/run2_qdumpfs.cmd CHANGED
@@ -1,6 +1,6 @@
1
1
  @echo off
2
2
 
3
- call uru 265p114
3
+ call uru system
4
4
 
5
5
  qdumpfs %*
6
6
 
data/run_list.cmd CHANGED
@@ -1,6 +1,6 @@
1
1
  @echo off
2
2
 
3
- call uru 265p114
3
+ call uru system
4
4
 
5
5
  bundle exec ruby exe/qdumpfs --command list n:/pc1/pdumpfs/test
6
6
 
data/run_qdumpfs.cmd CHANGED
@@ -1,5 +1,5 @@
1
1
  @echo off
2
2
 
3
- call uru 265p114
3
+ call uru system
4
4
 
5
5
  bundle exec ruby exe/qdumpfs %*
data/run_sync.cmd CHANGED
@@ -1,6 +1,6 @@
1
1
  @echo off
2
2
 
3
- call uru 306p216
3
+ call uru system
4
4
 
5
5
  bundle exec ruby exe/qdumpfs -d --command sync --keep=2Y0M0W0D r:/pc1/pdumpfs/opt v:/pc1/pdumpfs/opt
6
6
 
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: 1.7.0
4
+ version: 1.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - src
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-04-04 00:00:00.000000000 Z
11
+ date: 2024-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -127,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
127
  - !ruby/object:Gem::Version
128
128
  version: '0'
129
129
  requirements: []
130
- rubygems_version: 3.3.26
130
+ rubygems_version: 3.3.27
131
131
  signing_key:
132
132
  specification_version: 4
133
133
  summary: qdumpfs