使用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