⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 07 - automating backups.rb

📁 O Reilly Ruby Cookbook source code
💻 RB
字号:
require 'fileutils'def backup(from_dir, to_dir, time_format="-%Y%m%d")  from_path, from_name = File.split(from_dir)  now = Time.now.strftime(time_format)  Dir.mkdir(to_dir) unless File.exists? to_dir  unless File.directory? to_dir    raise ArgumentError, "Not a directory: #{to_dir}"   end  to = File.versioned_filename(File.join(to_dir, from_name + now))    FileUtils.cp_r(from_dir, to, :preserve=>true)  return toend# This method copied from "Backing Up to Versioned Filenames"class File  def File.versioned_filename(base, first_suffix=".0")    suffix = nil    filename = base    while File.exists?(filename)      suffix = (suffix ? suffix.succ : first_suffix)      filename = base + suffix    end      return filename  endend# Create a dummy directoryDir.mkdir('recipes')# And back it up.backup('recipes', '/tmp/backup')        # => "/tmp/backup/recipes-20061031"backup('recipes', '/tmp/backup')        # => "/tmp/backup/recipes-20061031.0"backup('recipes', '/tmp/backup', '-%Y%m%d-%H.%M.%S')# => "/tmp/backup/recipes-20061031-20.48.56"#---

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -