使用golang 清理备份文件。
package main
import (
//"flag"
"fmt"
"os"
"path/filepath"
"time"
)
const (
diff_time = 3600 * 24 * 7
)
func main() {
//flag.Parse()
//root := flag.Arg(0)
root := "."
getFilelist(root)
}
func getFilelist(path string) {
now_time := time.Now().Unix() //当前时间,使用Unix时间戳
err := filepath.Walk(path, func(path string, f os.FileInfo, err error) error {
if f == nil {
return err
}
file_time := f.ModTime().Unix()
/*
fmt.Println(file_time)
fmt.Println(now_time)
fmt.Println("---", diff_time)
fmt.Println(now_time - file_time)
*/
if (now_time - file_time) > diff_time { //判断文件是否超过7天
fmt.Printf("Delete file %v !\r\n", path)
os.RemoveAll(path)
} //else {
//println(path)
//}
return nil
})
if err != nil {
fmt.Printf("filepath.Walk() returned %v\r\n", err)
}
}
参考文档:
http://www.cnblogs.com/sevenyuan/archive/2013/02/28/2937275.html
https://github.com/jemygraw/GoStandardLibrary-Chinese/blob/master/os/os.md