diff --git a/main.go b/main.go index 271d912..964b81a 100644 --- a/main.go +++ b/main.go @@ -80,6 +80,10 @@ func loadConfig() Constants { archive := filepath.ToSlash(strings.TrimSpace(getenv("ROOT_ARCHIVE", root+"/archive"))) _ = os.MkdirAll(archive, os.ModePerm) + // TODO: This just doesn't really work or do what it says it does + // Fix it... + // Right now we don't care because we're not using it + // But we might want to... ignored := []string{} if ig := strings.TrimSpace(getenv("IGNORED_DIRECTORIES", "")); ig != "" { for _, s := range strings.Split(ig, ",") { @@ -88,7 +92,6 @@ func loadConfig() Constants { } } } - ignored = append(ignored, filepath.ToSlash(archive)) archiveMs := parseDurationMS(getenv("ARCHIVE_THRESHOLD", "1d")) deleteMs := parseDurationMS(getenv("DELETE_THRESHOLD", "12h")) @@ -161,8 +164,13 @@ func archiveCandidate(path string, info os.FileInfo) { log.Warning("rel ROOT->%s: %v", path, err) return } + if strings.HasPrefix(rel, "archive") { + log.Debug("refusing to archive a file that's already archived") + return + } + log.Debug("rel %q", rel) dst := filepath.Join(constants.ROOT_ARCHIVE, rel) - log.Debug("dst %s", dst) + log.Debug("dst %q", dst) if err := os.MkdirAll(filepath.Dir(dst), os.ModePerm); err != nil { log.Error("mkdir %s: %v", filepath.Dir(dst), err) @@ -328,7 +336,6 @@ func main() { logger.Info("Starting directory cleaner") constants = loadConfig() - constants.USE_MODTIME = true logger.Info("Ready. First scan in %s", constants.SCAN_INTERVAL) // Run immediately, then on interval