diff --git a/cmd/dwelling-upload-clean/main.go b/cmd/dwelling-upload-clean/main.go index 37fd1bc..04f1e23 100644 --- a/cmd/dwelling-upload-clean/main.go +++ b/cmd/dwelling-upload-clean/main.go @@ -3,7 +3,6 @@ package main import ( "flag" "fmt" - "io/ioutil" "log" "os" "path" @@ -28,15 +27,21 @@ func main() { return } - uploadsDir, err := ioutil.ReadDir(*uploadDir) + uploadsDir, err := os.ReadDir(*uploadDir) if err != nil { - log.Fatalf("failed to open directory %s: %s\n", *uploadDir, err) + log.Fatalf("failed to open a directory %s: %s\n", *uploadDir, err) } for _, entry := range uploadsDir { - if time.Now().UTC().Sub(entry.ModTime().UTC()) >= time.Duration(*keepForHours)*time.Hour { + file, err := os.Stat(entry.Name()) + if err != nil { + log.Printf("failed to stat a file %s: %s", entry.Name(), err) + continue + } + + if time.Now().UTC().Sub(file.ModTime().UTC()) >= time.Duration(*expiry)*time.Hour { if err := os.Remove(path.Join(*uploadDir, entry.Name())); err != nil { - log.Printf("failed to remove file %s: %s", entry.Name(), err) + log.Printf("failed to remove a file %s: %s", entry.Name(), err) } } }