package main import ( "backup-tool/pruner" "backup-tool/uploader" "flag" "github.com/joho/godotenv" "log" "os" ) const ( ENDPOINT = "s3.us-west-004.backblazeb2.com" ) var skipUpload bool var keepNum int func init() { flag.BoolVar(&skipUpload, "skip-upload", false, "do not upload file to S3/Backblaze") flag.IntVar(&keepNum, "keep-backups", 7, "number of backups to keep; 0 to keep all") } func main() { flag.Parse() err := godotenv.Load() if err != nil { log.Fatalf("error loading .env file: (%s)", err.Error()) } if len(os.Args) < 2 && !skipUpload { log.Fatalln("missing filename parameter") } bucketName := os.Getenv("BUCKET_NAME") if bucketName == "" { log.Fatalln("missing or empty BUCKET_NAME") } if !skipUpload { err = uploader.UploadFile(bucketName, ENDPOINT, os.Args[1]) if err != nil { log.Fatalln(err.Error()) } } if keepNum > 0 { err = pruner.PruneFiles(bucketName, ENDPOINT, keepNum) } }