Base project to template
This commit is contained in:
68
main.go
Executable file
68
main.go
Executable file
@@ -0,0 +1,68 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"local/firestormy/config"
|
||||
"local/firestormy/server"
|
||||
"local/lastn/lastn"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
"os/signal"
|
||||
"path/filepath"
|
||||
"time"
|
||||
)
|
||||
|
||||
func main() {
|
||||
server := server.New()
|
||||
if err := server.Routes(); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
go func() {
|
||||
log.Printf("Serving on %q", config.Port)
|
||||
if err := http.ListenAndServe(config.Port, server); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}()
|
||||
|
||||
// catch stop
|
||||
stop := make(chan os.Signal)
|
||||
signal.Notify(stop, os.Interrupt)
|
||||
<-stop
|
||||
}
|
||||
|
||||
func EnqueueBackups() {
|
||||
realpath, err := filepath.Abs(config.StoreAddr)
|
||||
if err != nil {
|
||||
log.Println("dir", config.StoreAddr, "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)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user