croner 0.1.4 → 0.1.5
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 +4 -4
- data/README.md +2 -0
- data/lib/croner.rb +15 -2
- data/lib/croner/config.rb +2 -0
- data/lib/croner/version.rb +1 -1
- data/lib/generators/templates/croner.rb +4 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: efc9c6a7b39c3b76b42e258d51a6885c3677777b
|
4
|
+
data.tar.gz: e0e6eee03ba96525d16ea175863359de857041c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a2dde3fec84aa51ca08fc1ef32b8b01a5d90b3d1918fdda89892823bb95c75465805a97022a521dcb7be93903e9ad7d4b0da8dec816150f37f0ab5cdd0de91e7
|
7
|
+
data.tar.gz: b45d2ac3a088060bd6db5cc1b0841bef920bd96326938c984a7165e8506275537479e057961ba748c2893f1ce115b281649201b7f6ff5fb5d24529b0e08cf66e
|
data/README.md
CHANGED
@@ -26,6 +26,8 @@ Edit the `/config/initializers/croner.rb` file and customize following settings.
|
|
26
26
|
Settings that save backup file.
|
27
27
|
#### backup_path
|
28
28
|
Backup file's path.
|
29
|
+
#### keep_backups
|
30
|
+
Num of keep backup files.
|
29
31
|
|
30
32
|
## Usage
|
31
33
|
Make `config/croner/hosts/[hostname]` and run task `croner:update`.
|
data/lib/croner.rb
CHANGED
@@ -13,9 +13,22 @@ module Croner
|
|
13
13
|
# backup current cron contents
|
14
14
|
if Croner.config.enable_backup
|
15
15
|
if Croner.config.backup_path.blank?
|
16
|
-
|
16
|
+
backup_path = '.'
|
17
17
|
else
|
18
|
-
|
18
|
+
backup_path = "./#{Croner.config.backup_path}"
|
19
|
+
end
|
20
|
+
`crontab -l > #{backup_path}/cron_#{Time.current.strftime('%Y%m%d%H%M%S')}.bak`
|
21
|
+
|
22
|
+
# delete over backup files
|
23
|
+
backup_files = Dir.glob("#{backup_path}/cron_*.bak")
|
24
|
+
if backup_files.count > Croner.config.keep_backups
|
25
|
+
backup_dates = backup_files.map do |backup_file|
|
26
|
+
backup_file.match(/cron_([0-9]{14}).bak$/)[1] rescue nil
|
27
|
+
end
|
28
|
+
delete_backup_files = backup_dates.compact.sort.first(backup_files.count - Croner.config.keep_backups).map{|backup_date| "#{backup_path}/cron_#{backup_date}.bak"}
|
29
|
+
delete_backup_files.each do |delete_backup_file|
|
30
|
+
File.delete(delete_backup_file)
|
31
|
+
end
|
19
32
|
end
|
20
33
|
end
|
21
34
|
|
data/lib/croner/config.rb
CHANGED
data/lib/croner/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: croner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ykogure
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-09-
|
11
|
+
date: 2017-09-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|