5 Commits
v0.8 ... v1.0

Author SHA1 Message Date
Bel LaPointe
ec4a28e0eb Fix backup args and change to files type 2020-02-13 07:33:20 -07:00
Bel LaPointe
202aa1a39f extra log 2020-02-13 07:05:27 -07:00
bel
dfea3defb1 make backups 2020-02-02 03:54:44 +00:00
bel
6ef0d1ded9 Add backup runner 2020-02-02 03:36:57 +00:00
bel
3318ef3df0 Update add 2020-01-19 22:08:22 +00:00
64 changed files with 56 additions and 0 deletions

16
Dockerfile Executable file
View File

@@ -0,0 +1,16 @@
FROM golang:1.13-alpine as certs
RUN apk update && apk add --no-cache ca-certificates
FROM busybox:glibc
RUN mkdir -p /var/log
WORKDIR /main
COPY --from=certs /etc/ssl/certs /etc/ssl/certs
COPY . .
ENV GOPATH=""
ENV MNT="/mnt/"
ENTRYPOINT ["/main/exec-rssmon3"]
CMD []

40
main.go
View File

@@ -1,6 +1,7 @@
package main
import (
"local/lastn/lastn"
"local/rssmon3/config"
"local/rssmon3/handlers"
"local/rssmon3/monitor"
@@ -8,6 +9,7 @@ import (
"log"
"os"
"os/signal"
"path/filepath"
"syscall"
"time"
)
@@ -37,6 +39,8 @@ func main() {
h := handlers.New(m.Outgoing)
go InterruptAfter(h.Run, sigc)
go EnqueueBackups()
signal.Notify(sigc,
syscall.SIGHUP,
syscall.SIGINT,
@@ -54,3 +58,39 @@ func InterruptAfter(foo func() error, c chan os.Signal) {
}
c <- syscall.SIGINT
}
func EnqueueBackups() {
realpath, err := filepath.Abs(config.Values().Addr)
if err != nil {
log.Println("dir", config.Values().Addr, "not found, so no backups")
return
}
conf := lastn.Config{
N: 3,
Rclone: "/dev/null",
Root: realpath,
Ns: "backups",
Store: "files",
Conf: realpath + "-backups",
}
log.Printf("backups conf: %+v", conf)
lastn, err := lastn.New(conf)
if err != nil {
log.Println("backups disabled:", realpath, ":", err)
return
}
ticker := time.NewTicker(time.Hour * 24)
log.Println("backup initial:", err)
if err := lastn.Push(); err != nil {
log.Println("backup failed:", err)
}
for _ = range ticker.C {
log.Println("backing up...")
if err := lastn.Push(); err != nil {
log.Println("backup push failed:", err)
}
if err := lastn.Clean(); err != nil {
log.Println("backup clean failed:", err)
}
}
}

0
vendor/github.com/PuerkitoBio/goquery/LICENSE generated vendored Normal file → Executable file
View File

0
vendor/github.com/PuerkitoBio/goquery/README.md generated vendored Normal file → Executable file
View File

0
vendor/github.com/PuerkitoBio/goquery/array.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/PuerkitoBio/goquery/doc.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/PuerkitoBio/goquery/expand.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/PuerkitoBio/goquery/filter.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/PuerkitoBio/goquery/go.mod generated vendored Normal file → Executable file
View File

0
vendor/github.com/PuerkitoBio/goquery/go.sum generated vendored Normal file → Executable file
View File

0
vendor/github.com/PuerkitoBio/goquery/iteration.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/PuerkitoBio/goquery/manipulation.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/PuerkitoBio/goquery/property.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/PuerkitoBio/goquery/query.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/PuerkitoBio/goquery/traversal.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/PuerkitoBio/goquery/type.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/PuerkitoBio/goquery/utilities.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/andybalholm/cascadia/README.md generated vendored Normal file → Executable file
View File

0
vendor/github.com/andybalholm/cascadia/go.mod generated vendored Normal file → Executable file
View File

0
vendor/github.com/andybalholm/cascadia/parser.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/andybalholm/cascadia/selector.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/andybalholm/cascadia/serialize.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/andybalholm/cascadia/specificity.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/golang-collections/go-datastructures/LICENSE generated vendored Normal file → Executable file
View File

0
vendor/github.com/golang-collections/go-datastructures/queue/error.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/golang-collections/go-datastructures/queue/priority_queue.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/golang-collections/go-datastructures/queue/queue.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/golang-collections/go-datastructures/queue/ring.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/gorilla/feeds/AUTHORS generated vendored Normal file → Executable file
View File

0
vendor/github.com/gorilla/feeds/LICENSE generated vendored Normal file → Executable file
View File

0
vendor/github.com/gorilla/feeds/README.md generated vendored Normal file → Executable file
View File

0
vendor/github.com/gorilla/feeds/atom.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/gorilla/feeds/doc.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/gorilla/feeds/feed.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/gorilla/feeds/json.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/gorilla/feeds/rss.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/gorilla/feeds/test.atom generated vendored Normal file → Executable file
View File

0
vendor/github.com/gorilla/feeds/test.rss generated vendored Normal file → Executable file
View File

0
vendor/github.com/gorilla/feeds/to-implement.md generated vendored Normal file → Executable file
View File

0
vendor/github.com/gorilla/feeds/uuid.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/LICENSE generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/README.md generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/atom/feed.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/atom/parser.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/detector.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/extensions/dublincore.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/extensions/extensions.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/extensions/itunes.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/feed.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/go.mod generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/go.sum generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/internal/shared/charsetconv.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/internal/shared/dateparser.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/internal/shared/extparser.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/internal/shared/parseutils.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/internal/shared/xmlbase.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/internal/shared/xmlsanitizer.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/parser.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/rss/feed.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/rss/parser.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/gofeed/translator.go generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/goxpp/LICENSE generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/goxpp/README.md generated vendored Normal file → Executable file
View File

0
vendor/github.com/mmcdole/goxpp/xpp.go generated vendored Normal file → Executable file
View File