Skip to content

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Backup script for SQLite databases
#!/usr/lib/env ruby
# Acquires a shared lock on a SQLite database file and copies it to a backup
# usage: backup-db.rb DBFILE.db BACKUPFILE.db
# author: William Benton (willb@redhat.com)
# Public domain.
require 'sqlite3'
require 'fileutils'
def backup_db(db_file, backup_file)
begin
db = SQLite3::Database.new(db_file)
db.transaction(:immediate) do |ignored|
# starting a transaction with ":immediate" means we get a shared lock
# and thus any db writes (unlikely!) complete before we copy the file
FileUtils.cp(db_file, backup_file, :preserve=>true)
end
ensure
db.close
end
end
backup_db(ARGV[0], ARGV[1])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.