@@ -83,8 +83,8 @@ backup(tf, compression = TRUE)
8383
8484# display backups of a file
8585list_backups(tf )
86- # > [1] "/tmp/Rtmpw73XUg /rotor/mylogfile.1.log.zip"
87- # > [2] "/tmp/Rtmpw73XUg /rotor/mylogfile.2.log"
86+ # > [1] "/tmp/RtmpRZc2Qd /rotor/mylogfile.1.log.zip"
87+ # > [2] "/tmp/RtmpRZc2Qd /rotor/mylogfile.2.log"
8888```
8989
9090` rotate() ` also backs up a file, but replaces the original file with an
@@ -93,9 +93,9 @@ empty one.
9393``` r
9494rotate(tf )
9595list_backups(tf )
96- # > [1] "/tmp/Rtmpw73XUg /rotor/mylogfile.1.log"
97- # > [2] "/tmp/Rtmpw73XUg /rotor/mylogfile.2.log.zip"
98- # > [3] "/tmp/Rtmpw73XUg /rotor/mylogfile.3.log"
96+ # > [1] "/tmp/RtmpRZc2Qd /rotor/mylogfile.1.log"
97+ # > [2] "/tmp/RtmpRZc2Qd /rotor/mylogfile.2.log.zip"
98+ # > [3] "/tmp/RtmpRZc2Qd /rotor/mylogfile.3.log"
9999
100100# the original file is now empty
101101readLines(tf )
@@ -118,10 +118,10 @@ backup(tf, max_backups = 4)
118118backup(tf , max_backups = 4 )
119119
120120list_backups(tf )
121- # > [1] "/tmp/Rtmpw73XUg /rotor/mylogfile.1.log"
122- # > [2] "/tmp/Rtmpw73XUg /rotor/mylogfile.2.log"
123- # > [3] "/tmp/Rtmpw73XUg /rotor/mylogfile.3.log"
124- # > [4] "/tmp/Rtmpw73XUg /rotor/mylogfile.4.log.zip"
121+ # > [1] "/tmp/RtmpRZc2Qd /rotor/mylogfile.1.log"
122+ # > [2] "/tmp/RtmpRZc2Qd /rotor/mylogfile.2.log"
123+ # > [3] "/tmp/RtmpRZc2Qd /rotor/mylogfile.3.log"
124+ # > [4] "/tmp/RtmpRZc2Qd /rotor/mylogfile.4.log.zip"
125125```
126126
127127We can also use ` prune_backups() ` to delete old backups. Other than
@@ -154,29 +154,29 @@ backup_time(tf, format = "%Y%m%dT%H%M%S") # ISO 8601 compatible
154154
155155backup_info(tf )
156156# > path name
157- # > 1 /tmp/Rtmpw73XUg /rotor/mylogfile.2020-07-24_10-54-30 .log mylogfile
158- # > 2 /tmp/Rtmpw73XUg /rotor/mylogfile.2020-07-24--10-54-30 .log mylogfile
159- # > 5 /tmp/Rtmpw73XUg /rotor/mylogfile.20200724T105430 .log mylogfile
160- # > 3 /tmp/Rtmpw73XUg /rotor/mylogfile.2020-07-24 .log mylogfile
161- # > 4 /tmp/Rtmpw73XUg /rotor/mylogfile.2020-07 .log mylogfile
157+ # > 1 /tmp/RtmpRZc2Qd /rotor/mylogfile.2020-12-11_20-23-35 .log mylogfile
158+ # > 2 /tmp/RtmpRZc2Qd /rotor/mylogfile.2020-12-11--20-23-35 .log mylogfile
159+ # > 5 /tmp/RtmpRZc2Qd /rotor/mylogfile.20201211T202335 .log mylogfile
160+ # > 3 /tmp/RtmpRZc2Qd /rotor/mylogfile.2020-12-11 .log mylogfile
161+ # > 4 /tmp/RtmpRZc2Qd /rotor/mylogfile.2020-12 .log mylogfile
162162# > sfx ext size isdir mode mtime
163- # > 1 2020-07-24_10-54-30 log 26 FALSE 664 2020-07-24 10:54:30
164- # > 2 2020-07-24--10-54-30 log 26 FALSE 664 2020-07-24 10:54:30
165- # > 5 20200724T105430 log 26 FALSE 664 2020-07-24 10:54:30
166- # > 3 2020-07-24 log 26 FALSE 664 2020-07-24 10:54:30
167- # > 4 2020-07 log 26 FALSE 664 2020-07-24 10:54:30
168- # > ctime atime uid gid uname grname
169- # > 1 2020-07-24 10:54:30 2020-07-24 10:54:30 11861 11861 fleck fleck
170- # > 2 2020-07-24 10:54:30 2020-07-24 10:54:30 11861 11861 fleck fleck
171- # > 5 2020-07-24 10:54:30 2020-07-24 10:54:30 11861 11861 fleck fleck
172- # > 3 2020-07-24 10:54:30 2020-07-24 10:54:30 11861 11861 fleck fleck
173- # > 4 2020-07-24 10:54:30 2020-07-24 10:54:30 11861 11861 fleck fleck
163+ # > 1 2020-12-11_20-23-35 log 26 FALSE 664 2020-12-11 20:23:35
164+ # > 2 2020-12-11--20-23-35 log 26 FALSE 664 2020-12-11 20:23:35
165+ # > 5 20201211T202335 log 26 FALSE 664 2020-12-11 20:23:35
166+ # > 3 2020-12-11 log 26 FALSE 664 2020-12-11 20:23:35
167+ # > 4 2020-12 log 26 FALSE 664 2020-12-11 20:23:35
168+ # > ctime atime uid gid uname grname
169+ # > 1 2020-12-11 20:23:35 2020-12-11 20:23:35 1000 1000 hoelk hoelk
170+ # > 2 2020-12-11 20:23:35 2020-12-11 20:23:35 1000 1000 hoelk hoelk
171+ # > 5 2020-12-11 20:23:35 2020-12-11 20:23:35 1000 1000 hoelk hoelk
172+ # > 3 2020-12-11 20:23:35 2020-12-11 20:23:35 1000 1000 hoelk hoelk
173+ # > 4 2020-12-11 20:23:35 2020-12-11 20:23:35 1000 1000 hoelk hoelk
174174# > timestamp
175- # > 1 2020-07-24 10:54:30
176- # > 2 2020-07-24 10:54:30
177- # > 5 2020-07-24 10:54:30
178- # > 3 2020-07-24 00:00:00
179- # > 4 2020-07 -01 00:00:00
175+ # > 1 2020-12-11 20:23:35
176+ # > 2 2020-12-11 20:23:35
177+ # > 5 2020-12-11 20:23:35
178+ # > 3 2020-12-11 00:00:00
179+ # > 4 2020-12 -01 00:00:00
180180```
181181
182182If we examine the “timestamp” column in the example above, we see that
@@ -203,20 +203,20 @@ prune_backups(tf, "2018-04-01")
203203
204204## Cache
205205
206- rotor also provides a simple on-disk key-value store that can be used as
207- a persistent cache .
206+ rotor also provides a simple on-disk key-value store that can be pruned
207+ by size, age or number of files .
208208
209209``` r
210210cache <- Cache $ new(file.path(tempdir(), " cache-test" ), hashfun = digest :: digest )
211- # > creating directory '/tmp/Rtmpw73XUg /cache-test'
211+ # > creating directory '/tmp/RtmpRZc2Qd /cache-test'
212212key1 <- cache $ push(iris )
213213key2 <- cache $ push(cars )
214214key3 <- cache $ push(mtcars )
215215
216216cache $ files $ path
217- # > [1] "/tmp/Rtmpw73XUg /cache-test/d3c5d071001b61a9f6131d3004fd0988"
218- # > [2] "/tmp/Rtmpw73XUg /cache-test/f98a59010652c8e1ee062ed4c43f648e"
219- # > [3] "/tmp/Rtmpw73XUg /cache-test/a63c70e73b58d0823ab3bcbd3b543d6f"
217+ # > [1] "/tmp/RtmpRZc2Qd /cache-test/d3c5d071001b61a9f6131d3004fd0988"
218+ # > [2] "/tmp/RtmpRZc2Qd /cache-test/f98a59010652c8e1ee062ed4c43f648e"
219+ # > [3] "/tmp/RtmpRZc2Qd /cache-test/a63c70e73b58d0823ab3bcbd3b543d6f"
220220
221221head(cache $ read(key1 ))
222222# > Sepal.Length Sepal.Width Petal.Length Petal.Width Species
@@ -229,7 +229,7 @@ head(cache$read(key1))
229229
230230cache $ prune(max_files = 1 )
231231cache $ files $ path
232- # > [1] "/tmp/Rtmpw73XUg /cache-test/a63c70e73b58d0823ab3bcbd3b543d6f"
232+ # > [1] "/tmp/RtmpRZc2Qd /cache-test/a63c70e73b58d0823ab3bcbd3b543d6f"
233233cache $ purge() # deletes all cached files
234234cache $ destroy() # deletes the cache directory
235235```
@@ -251,11 +251,14 @@ anything outside of base R)
251251
252252Optional dependencies:
253253
254- - [ digest] ( https://github.com/eddelbuettel/digest ) or
254+ - [ digest] ( https://github.com/eddelbuettel/digest ) ,
255+ [ ulid] ( https://cran.r-project.org/package=ulid ) , or
255256 [ uuid] ( https://CRAN.R-project.org/package=uuid ) for generating
256- hashes or UIDs when using Cache. Storage keys for cache files can
257+ hashes or UIDs when using ` Cache ` . Storage keys for cache files can
257258 also be set manually, in which case no external dependencies are
258259 required.
259260 - [ zip] ( https://CRAN.R-project.org/package=zip ) is supported as an
260261 alternative to the integrated zip function in R. Might work better
261262 on some systems and worse on others.
263+ - [ crayon] ( https://cran.r-project.org/package=crayon ) for terminal
264+ colors
0 commit comments