PostgreSQL資料庫備份指令碼

2021-09-01 21:23:48 字數 1497 閱讀 8391

資料庫備份shell指令碼(.sh):

#!/bin/bash

now=`date +%y%m%d%h%m%s`

mkdir -p /srv/pg_backup/$

for db_name in "庫名1" "庫名2" "庫名3"

do/srv/pgsql92/bin/pg_dump -upgsql --blobs --format=c --compress=9 --file=/srv/pg_backup/$/$.dump $"

done

資料庫備份ruby指令碼(.rb):

#!/srv/ruby19/bin/ruby

# encoding: utf-8

require 'rubygems'

require 'active_record'

require 'pg'

require 'fileutils'

=begin

2012-09-19

postgresql 資料庫備份指令碼

每次執行都備份到指定的目錄下

每個資料庫乙個檔案,副檔名是 dump

恢復需要先建立資料庫,然後 pg_restore 進行恢復

=end

activerecord::base.establish_connection(

:adapter=>"postgresql",

:database => 'template1',

:host => 'localhost',

:port => 5432,

:username => 'pgsql',

:password => 'none'

)#不做備份處理的資料庫

#fixme

skip_databases = %w(template0 template1 sandbox fgpay2_test)

#fixme

backup_base_dir = "/srv/pg_backup/#"

puts "備份目的路徑: #"

fileutils.mkdir_p(backup_base_dir) unless file.exists?(backup_base_dir)

#獲取所有的資料庫列表

class pgdatabase < activerecord::base

self.table_name = "pg_database"

def self.all_databases

select('datname').where(["datistemplate = false"]).map.delete_if

endend

pg_dump_bin = lambda/#.dump #")

}puts pgdatabase.all_databases.each "

pg_dump_bin.call(db_name)

puts "backup # done.\n\n"

}#複製到其他機器做二次備份

#fixme

postgresql資料庫備份還原

背景 公司 原先將postgresql跑在docker容器內,並且使用了dockerswarm拉力編排,portainer的視覺化來管理 變更需求 將postgresql 遷離swarm集群,單獨使用docker run命令來執行 備份 pg dump u 使用者名稱 h 資料庫ip d 需要備份的...

PostgreSQL資料庫備份與恢復

參考了這篇文章 由於想要備份測試資料所以就進行了一下調查,以前成功過一次,但是由於時間久了,就忘記了,還是需要記錄一下。windows裡面,命令列進入postgresql的安裝目錄,執行pg dump h 10.u postgres testdb testdb.bak 會在當前安裝目錄生成乙個tes...

PostgreSQL資料庫完美備份恢復

進入到postgresql下的bin資料夾,會看到不少的exe檔案,這就是postgresql內建的工具了.裡面會找到pg dump.exe.我們實際使用的就是這個.用法 1 2 3 4 5 6 7 8 9 1.cd c program files postgresql 9.3 bin 2.pg d...