diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..5127006 --- /dev/null +++ b/build.sh @@ -0,0 +1 @@ +docker build -t directory-cleaner . \ No newline at end of file diff --git a/main.go b/main.go index 165bb73..7433f2f 100644 --- a/main.go +++ b/main.go @@ -86,6 +86,7 @@ func scanRoot() { // We hope that IGNORED_DIRECTORIES is a small list, so we can afford to iterate over it // In fact iteration should be faster for small lists rather than hashing for _, ignoredDir := range constants.IGNORED_DIRECTORIES { + log.Println(constants.IGNORED_DIRECTORIES, len(constants.IGNORED_DIRECTORIES)) if strings.HasPrefix(path, ignoredDir) { log.Printf("Ignoring directory %s\n", path) return nil @@ -180,7 +181,12 @@ func main() { var ROOT = filepath.ToSlash(strings.TrimSpace(getEnv("ROOT", "/tmp"))) var ROOT_ARCHIVE = filepath.ToSlash(strings.TrimSpace(getEnv("ROOT_ARCHIVE", ROOT+"/archive"))) os.Mkdir(ROOT_ARCHIVE, os.ModePerm) - var IGNORED_DIRECTORIES = strings.Split(getEnv("IGNORED_DIRECTORIES", ""), ",") + var IGNORED_DIRECTORIES = []string{} + var ignoredEnv = getEnv("IGNORED_DIRECTORIES", "") + if ignoredEnv != "" { + ignoredEnv = strings.TrimSpace(ignoredEnv) + IGNORED_DIRECTORIES = append(IGNORED_DIRECTORIES, strings.Split(ignoredEnv, ",")...) + } IGNORED_DIRECTORIES = append(IGNORED_DIRECTORIES, ROOT_ARCHIVE) for key, dir := range IGNORED_DIRECTORIES { IGNORED_DIRECTORIES[key] = filepath.ToSlash(strings.TrimSpace(dir)) @@ -204,7 +210,8 @@ func main() { log.Printf("DELETE_THRESHOLD: %d\n", DELETE_THRESHOLD) log.Printf("SCAN_INTERVAL: %d\n", SCAN_INTERVAL.Milliseconds()) - // scanRoot() + scanRoot() + scanArchive() for { log.Printf("Running at %d", time.Now().UnixMilli()) time.Sleep(SCAN_INTERVAL)