pg 定時刪除 pg資料庫定時任務

2021-10-13 14:04:42 字數 1585 閱讀 2998

postgres本身支援資料庫備份操作,基於安裝路徑下bin目錄下的兩個指令碼檔案pg_dump pg_dumpall

乙個支援單庫備份,乙個支援整個資料庫備份

這裡實現的是不同機子間的備份,例如我在101.62上面是線上資料庫,我需要定時備份到101.68這台機子上。

以下是命令:

-- 備份 pg_dump 資料庫名 -h 要備份的資料庫ip -p 你的埠 -u postgres > 備份結果檔名.dmp pg_dumpall -h 要備份的資料庫ip -p 你的埠 -u postgres > 備份結果檔名.dmp

example:

pg_dump database -h 192.168.101.62 -p 5432 -u postgres > filename pg_dumpall -h 192.168.101.62 -p 5432 -u postgres > filename

-- 還原

psql -h 要還原的資料庫ip -p 埠 -u postgres -d 指定資料庫名 

example:

psql -h 192.168.101.68 -p 5432 -u postgres -d new_db < filename psql -h 192.168.101.68 -p 5432 -u postgres < filename

注意:用到的指令碼都在postgres的安裝bin下,所以該方案要求接受備份檔案的機子也需要安裝postgres

這樣顯然,我這裡需要的是定時備份,那麼只需要利用linux的crontab 定時器就可以了

crontab –e 新增定時任務     crontab -l 表示列出所有的定時任務     crontab -r 表示刪除使用者的定時任務

0 23 * * *  /temp/pgsql_backup.sh >> /temp/pgdata_export.log  2>&1   //例如每晚23點執行

這個命令指的是每晚23點執行指令碼進行備份,日誌寫入/temp/pgdata_export.log中

crontab如果沒有安裝,centos執行yum安裝即可:

yum -y install vixie-cron       yum -y install crontabs

pgsql_backup.sh指令碼為:

#!/bin/bash export path=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/apache2/bin:/root/bin:/usr/local/pgsql/bin export lang=zh_cn.utf-8 export export pgpassword=postgres   dest_folder=/temp/ dest_file=pgdata_$(date +%y%m%d).dmp tar_file=pg_$(date +%y%m%d).tar.gz   echo [$(date +'%f %h:%m:%s')]  準備匯出postgresql資料庫 匯出檔案位址為$dest_folder$dest_file echo [$(date +'%f %h:%m:%s')]  ..................正在匯出............................

oracle資料庫定時任務

不久前,做的專案中需要用到定時任務 有兩種實現方式 應用程式,資料庫。決定採用資料庫的定時任務。關於資料庫定時任務的資料,網上有很多文章,但當自己在設計時,並沒有僅通過一篇文章就解決問題。於是決定綜合網上資料和自己的專案,寫一篇oracle資料庫自帶的job來實現定時任務。一 定時任務的建立 啟動 ...

oracle資料庫定時任務

常要oracle資料庫定時的自動執行一些指令碼,或做資料庫備份,或做資料的提煉,或做資料庫的效能優化,包括重建索引等等的工作,這時需要用到乙個函式dbms job.submit,來完成oracle定時器job時間的處理上。使用dbms job.submit這個函式,我們只需要考慮兩個事情 安排某一任...

oracle資料庫定時任務

1.定時任務樣例 一 建立乙個表 create table t free twice id number 8 primary key,name nvarchar2 20 二 建立序列 記錄id值 create sequence create sequence t free twice log min...