一个删除旧文件的函数,通常用于删除较老的log文件。

 

 module FileUtils2
    ONE_DAY_SECONDS 
= 60*60*24
    
# remove the old files, return the number of files that removed.    
    def remove_old_files(dir_path, days_ago)
        count 
= 0    
        dir_path2 
= dir_path + File::ALT_SEPARATOR unless dir_path.end_with?(File::ALT_SEPARATOR)
        d 
= Dir.new dir_path2    

        now 
= Time.now
        
        d
.each  {|filename|     
            
next if filename == '.' or filename == '..'

            file_path 
= dir_path2 + filename
            
next if File.directory?(file_path)
            
            f 
= File.new(file_path)
            diff 
= now.to_i - f.mtime.to_i
            f
.close
            day 
= diff/ONE_DAY_SECONDS
            
            
next if day <= days_ago
            
            File
.delete(file_path)
            puts 
"Delete: #{file_path}." 
            count 
+= 1
        }
        
return count
    end
end
 

  

 

相关文章:

  • 2022-12-23
  • 2021-10-14
  • 2021-06-16
  • 2022-12-23
  • 2022-12-23
  • 2021-10-23
  • 2021-09-17
  • 2022-12-23
猜你喜欢
  • 2021-07-20
  • 2021-08-13
  • 2022-12-23
  • 2022-12-23
  • 2021-07-18
  • 2022-02-02
  • 2021-11-29
相关资源
相似解决方案