clean.go 456 B

123456789101112131415161718192021222324252627
  1. package session
  2. import (
  3. "io/ioutil"
  4. "os"
  5. "time"
  6. )
  7. func Clean(tmpdir string) error {
  8. files, err := ioutil.ReadDir(tmpdir)
  9. if err != nil {
  10. return err
  11. }
  12. now := time.Now()
  13. exp := 7 * 24 * time.Hour
  14. for _, file := range files {
  15. if len(file.Name()) == 40 {
  16. if diff := now.Sub(file.ModTime()); diff > exp {
  17. err = os.Remove(tmpdir + string(os.PathSeparator) + file.Name())
  18. if err != nil {
  19. return err
  20. }
  21. }
  22. }
  23. }
  24. return nil
  25. }