blob: c26a1902964639802f2dd897538397dc4e4efea2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#!/usr/bin/env ruby
require 'date'
require 'json'
rclone = "rclone --config /etc/rclone.conf"
crypt_repo = "crypt:"
b2_repo = "b2:doy-rclone"
now = Time.now
JSON.load(%x{#{rclone} lsjson #{crypt_repo}}).each do |dir|
crypt_path = "#{crypt_repo}#{dir["Path"]}"
b2_path = "#{b2_repo}/#{dir["Path"]}"
date = %x{#{rclone} cat #{crypt_path}/last_run}
ago_s = now - DateTime.iso8601(date).to_time
# rclone size uses quite a lot of backblaze api calls, which turns out to be
# super expensive
# data = JSON.load(%x{#{rclone} size #{b2_path} --b2-versions --json})
# file_size_b = data["bytes"]
# file_count_n = data["count"]
# puts "rclone,location=#{crypt_path} days_since_last_run=#{ago_s / 60.0 / 60.0 / 24.0},file_size=#{file_size_b}i,file_count=#{file_count_n}i"
puts "rclone,location=#{crypt_path} days_since_last_run=#{ago_s / 60.0 / 60.0 / 24.0}"
end
|