backup_to_seafile 0.1.0

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 34d85cb3c58caf1f74730bea4a4f2a643ed85b6c
4
+ data.tar.gz: 9dd26347d8e93cfd07f35f2a5fc2a02e3339392e
5
+ SHA512:
6
+ metadata.gz: a55ff012f2ae07a114508779d87bd8585d878dafb4c6df0b383c5553c0eba666731a449b55d3b7c1d5f0bb9eddbf187b617f48a9c3338228c8e9ff820c04219a
7
+ data.tar.gz: 6e1f5ae94d477f679b1e5d1975c3975066f70e7a43af334632ac295e74fc43106726a238042f5e999b4432520945179b4fcaf65d4d9485cecea6c612ce1492fa
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env ruby
2
+ gem_name='backup_to_seafile'
3
+ path = ENV["GEM_HOME"]
4
+ version= Gem.loaded_specs[gem_name].version
5
+ require "#{path}/gems/#{gem_name}-#{version}/lib/SeafileBackup.rb"
6
+ if ARGV[0] == "--config"
7
+ seafile_account = SeafileBackup.new
8
+ seafile_account.save_account_details
9
+ elsif ARGV[0] == "--backup"
10
+ seafile_account = SeafileBackup.new
11
+ seafile_account.load_account_details
12
+ seafile_account.make_backup
13
+ else
14
+ puts "type '#{gem_name} --config' for config backups"
15
+ puts "type '#{gem_name} --backup' for perform backups"
16
+
17
+ end
18
+
@@ -0,0 +1,87 @@
1
+ require "yaml"
2
+ require 'seafile-api'
3
+ require 'time'
4
+
5
+ $gem_name='backup_to_seafile'
6
+ $path = ENV["GEM_HOME"]
7
+ $version= Gem.loaded_specs[$gem_name].version
8
+ $config_file = "#$path/gems/#$gem_name-#$version/lib/accountinfo.yml"
9
+ class SeafileBackup
10
+ def initialize
11
+ @your_account = []
12
+ load_account_details
13
+ end
14
+
15
+ def load_account_details
16
+ unless File.exists?("#$config_file")
17
+ File.new("#$config_file", "w+")
18
+ end
19
+ @your_account = YAML.load_file("#$config_file")
20
+ #puts @your_account
21
+ end
22
+
23
+
24
+ def read_config
25
+ config = YAML.load_file("#$config_file")
26
+ @user_name = config["user_name"]
27
+ @password = config["password"]
28
+ @host = config["host"]
29
+ @default_repo = config["default_repo"]
30
+ #convert str to array
31
+ @path_to_upload = config["path_to_upload"].split(",")
32
+ #puts @path_to_upload
33
+ #puts @path_to_upload.class
34
+ end
35
+
36
+ def save_account_details
37
+ puts "Enter seafile username, please "
38
+ print "for example - mister_jones@company.com : "
39
+ user_name = $stdin.gets.chomp
40
+
41
+ puts "Enter seafile password, please "
42
+ print "for example - password123 :"
43
+ password = $stdin.gets.chomp
44
+
45
+ puts "Enter seafile host, please "
46
+ print "for example - http://seafile.company.com :"
47
+ host = $stdin.gets.chomp
48
+
49
+ puts "Enter seafile default repo id, please "
50
+ print "for example - 472f5c4a-70a1-4b52-83f9-9d15ec842150 :"
51
+ default_repo = $stdin.gets.chomp
52
+
53
+ puts "Enter local path(s) or file(s), please "
54
+ print 'for example - /var/log,/home/deployer/database.sql :'
55
+ path_to_upload = $stdin.gets.chomp
56
+
57
+ d = YAML::load_file("#$config_file") #Load
58
+ d['user_name']= user_name
59
+ d['password']= password
60
+ d['host']= host
61
+ d['default_repo'] = default_repo
62
+ d['path_to_upload'] = path_to_upload
63
+ File.open("#$config_file", 'w') {|f| f.write d.to_yaml } #Store
64
+ end
65
+
66
+ def make_backup
67
+ read_config
68
+ time = Time.now.strftime('%Y-%m-%d_%H-%M-%S')
69
+ sf = SeafileApi::Connect.new(@user_name,@password,@host,@default_repo)
70
+
71
+ @path_to_upload.each do |path_to_upload|
72
+ if File.directory?(path_to_upload)
73
+ `tar -czf #{path_to_upload}.#{time}.tar.gz #{path_to_upload}`
74
+ sf.upload_file("#{path_to_upload}.#{time}.tar.gz",path="/",@default_repo)
75
+
76
+ else
77
+ sf.upload_file(path_to_upload,path="/",@default_repo)
78
+ end
79
+ end
80
+
81
+ end
82
+ end
83
+ #seafile_account = SeafileBackup.new
84
+ #seafile_account.save_account_details
85
+ #seafile_account.load_account_details
86
+ #seafile_account.make_backup
87
+
@@ -0,0 +1,6 @@
1
+ ---
2
+ user_name: wer
3
+ password: wer
4
+ host: wer
5
+ default_repo: wer
6
+ path_to_upload: wer
@@ -0,0 +1,21 @@
1
+
2
+ namespace :backup_to_seafile do
3
+
4
+
5
+ desc 'Create accountinfo.yml for seafile backup'
6
+ task :config do
7
+ require './lib/SeafileBackup.rb'
8
+ seafile_account = SeafileBackup.new
9
+ seafile_account.save_account_details
10
+ end
11
+
12
+ desc 'Backup file to seafile'
13
+ task :backup do
14
+ require './lib/SeafileBackup.rb'
15
+ seafile_account = SeafileBackup.new
16
+ seafile_account.load_account_details
17
+ seafile_account.make_backup
18
+ end
19
+
20
+
21
+ end
metadata ADDED
@@ -0,0 +1,91 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: backup_to_seafile
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - vladyslav.bolibruk
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-01-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.10'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.10'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description: gem for backup files to seafile server
56
+ email:
57
+ - vladyslav.bolibruk@masterofcode.com
58
+ executables:
59
+ - backup_to_seafile
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - exe/backup_to_seafile
64
+ - lib/SeafileBackup.rb
65
+ - lib/accountinfo.yml
66
+ - lib/create_config.rake
67
+ homepage: https://github.com/20awesome/backup_to_seafile
68
+ licenses:
69
+ - MIT
70
+ metadata: {}
71
+ post_install_message:
72
+ rdoc_options: []
73
+ require_paths:
74
+ - lib
75
+ required_ruby_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ required_rubygems_version: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ requirements: []
86
+ rubyforge_project:
87
+ rubygems_version: 2.4.8
88
+ signing_key:
89
+ specification_version: 4
90
+ summary: backup_to_seafile gem for backup files to seafile server
91
+ test_files: []