當前位置:首頁 » 編程軟體 » 伺服器備份清理腳本

伺服器備份清理腳本

發布時間: 2023-07-02 16:25:23

『壹』 伺服器數據怎樣備份

對於伺服器而言,它承擔的使命是7x24小時不間斷的對外提供稿襲服務,但它面臨的風險也是很大的,無論是人為誤操作、硬體損壞還是黑客攻擊,難免有數據損壞丟失的時候。一旦發生數據損壞、丟失現象後,如果沒有備份數據,那損失就大了,所以對於任何一台伺服器而言,數據的備份機制是不可缺少的。

伺服器根據提供的服務不同,大致可為分:資料庫伺服器、應用伺服器、文件伺服器。不同伺服器的備份機制還是有所區別的,我們分別來看下:

文件伺服器備份方案有哪些?

1、純敬鋒Rsync+Inotify實時增量備份

藉助linux的Inotify特性可以監測文件系統變化,一旦發現變化則通知Rsync去同步數據,這樣就實現了增量備份,而且性能和及時性都很高。

2、通過伺服器定時任務每日凌晨執行備份任務

這種只適合對重要的數據進行日切備份,大概思路就是:Crontab+shell腳本來定時備份。

3、雲伺服器可藉助快照功能來全盤備份

資料庫伺服器備份方案

對於資料庫而言建議部署「主從同步」來實現數據備份,這樣做的好處就是:一方面存在數據副本,另外一方面多節點可以緩解資料庫做晌壓力。

當然了,現在主流資料庫也提供全量備份的功能,但如果在數據量大的情況下可能會影響資料庫的性能。

1、以主流的Mysql資料庫為例,備份方案主要有:

binlog備份

mysqlmp全庫備份

2、SQLServer也支持完全備份、事務日誌備份、差異備份等:

以上就是我的觀點,對於這個問題大家是怎麼看待的呢?

『貳』 rman備份腳本和rman增量備份腳本分享

一、單獨備份
1、經典整庫備份:backup
as
compressed
backupset
database
include
current
controlfile
plus
archivelog
delete
all
input;
2、tablespace:backup
tablespace
名字;
3、數據文件:backup
datafile
n;
(n:具體的數據文件編號select
file_name,file_id,tablespace_name
from
dba_data_files;)
4、控制文件:backup
current
controlfile;或者backup
database
include
current
controlfile;
5、日誌文件:backup
archivelog
all;或者
database
plus
archivelog;
6、參數文件:backup
spfile;
7、全庫備份腳本:
復制代碼
代碼如下:
run{
allocate
channel
c1
type
disk;
backup
full
tag
『dbfull'
format
『/backup/full%u_%s_%p'
database
include
current
controlfile;
sql
『alter
system
archive
log
current';
#在資料庫進行全備份完成之後,需要執行該條命令將當前日誌歸檔,備份歸檔日誌時應該包括最後生成的歸檔
backup
filesperset
3
format
『/backup/arch%u_%s_%p'#filesperset
3設定每個備份集里文件不超過3個
archivelog
all
delete
input;
#備份歸檔可選,可以單獨定期備份
release
channel
c1;
}
二、增量備份
1、0級增量備份
復制代碼
代碼如下:
run{
allocate
channel
c1
type
disk;
backup
incremental
level
0
tag
『db0'
format
『/backup/db0%u_%s_%p'database
include
current
controlfile;
;
sql
'alter
system
archive
log
current';#在資料庫進行全備份完成之後,需要執行該條命令將當前日誌歸檔,備份歸檔日誌時應該包括最後生成的歸檔
backup
filesperset
3
format
『/backup/arch%u_%s_%p'#filesperset
3設定每個備份集里文件不超過3個
archivelog
all
delete
input;
#備份歸檔可選,可以單獨定期備份
release
channel
c1;
}
2、1級備份腳本
復制代碼
代碼如下:
run{
allocate
channel
c1
type
disk;
backup
incremental
level
1
tag
『db1'
format
『/backup/db1%u_%s_%p'
database
skip
readonly
include
current
controlfile;
backup
filesperset
3
format
『/backup/arch%u_%s_%p'#filesperset設定每個備份集里文件不超過3個
archivelog
all
delete
input;
#備份歸檔可選,可以單獨定期備份
release
channel
c1;
}

『叄』 菜鳥求助:linux下oracle資料庫自動備份腳本,腳本可實現資料庫自動備份功能,並刪除三天前的備份

這個好辦。 cp 你的資料庫`date +'%y%m%d'` 指定目錄 這個是以年月日來命名備份 刪除的命令是
rm -f 你的資料庫名字`date -d "3 days ago" +'%y%m%d'` 這個是刪除匹配你資料庫的備份名日期前3天的備份文件 他會按照日期-3天匹配3天前的日期來刪除備份的

『肆』 windos伺服器怎麼寫壓縮備份的腳本啊

集成命令列表1功能:自動備份資料庫並按日期創建備份文件夾。代碼如下:@echooffecho執行備份任務echo正在停止資料庫…echo正在停止網站資料庫…netstopMySQLecho執行備份資料庫x"D:MySQLdata*.*"D:mysqlbakwebbak%date:~0,10%/e/y/cnetstartMySQLecho正在啟動網站資料庫…echo退出備份任務echo.exit拆解:停止資料庫命令代碼如下:netstopMySQL拷貝資料庫文件D:MySQLdata為資料庫存放目錄D:mysqlbakwebbak為資料庫備份目錄%date:~0,10%為當前備份日期創建目錄代碼如下:x"D:MySQLdata*.*"D:mysqlbakwebbak%date:~0,10%/e/y/c啟動資料庫代碼如下:netstartMySQL集成命令列表2功能:自動備份資料庫並日期rar加密打包(密碼為123456)。代碼如下:@echooffecho執行備份任務echo正在停止資料庫…echo正在停止網站資料庫…netstopMySQLecho執行備份資料庫x"D:hostmysqldata*.*"E:wwwrootDefaultwebmysql/e/y/cnetstartMySQLecho正在啟動網站資料庫…echo正在打包網站資料庫…"C:ProgramFilesWinRARWinRAR.exe"a-r-ibck-p123456-yE:wwwrootDefault\%date:~0,10%-WEBDATA.rarE:wwwrootDefaultwebmysql*.*echo退出RAR打包echo刪除復制資料庫del/s/qE:wwwrootDefaultwebmysql*echo退出備份任務echo.exit拆解:以上重復命令不重復說明了打包並加密C:ProgramFilesWinRARWinRAR.exe為winrar壓縮程序安裝目錄123456為壓縮包加密密碼E:wwwrootDefault為打包到的目錄%date:~0,10%-WEBDATA.rar為壓縮文件名,例如今天是2012-12-27名字就是2012-12-27-WEBDATA.rar代碼如下:"C:ProgramFilesWinRARWinRAR.exe"a-r-ibck-p123456-yE:wwwrootDefault\%date:~0,10%-WEBDATA.rarE:wwwrootDefaultwebmysql*.*刪除拷貝數據E:wwwrootDefaultwebmysql*為備份目錄,為方便下次備份一定要刪除。不然容易重復。代碼如下:del/s/qE:wwwrootDefaultwebmysql*備份任務下載說明:從網站進行命令下載到指定的目錄代碼如下:wgethttp://備份文件的WEB地址/MySQLDATA-%date:~0,10%.rar-PE:數據備份\%date:~0,10%wget下載地址:放在C:WindowsSystem32注意:也可以用其它工具進行下載,如果大文件的話不建議用這種方法。對於小文件倒還好。添加自動任務打開任務面板->任務計劃雙擊「添加任務計劃」下一步瀏覽到你創建的CMD。自定義任務的名稱,如果是資料庫的話建議一天備份一次。如果網站文件的話可以設置一周。下一步設置時間,建議設置2-3點左右。下一步輸入管理的帳號和密碼來完成任務創建。

『伍』 linux 自動備份和恢復的腳本

Linux是公認的運行穩定、安全性較高的操作系統,但是伺服器硬體故障和各種意外因素都會導致Linux伺服器硬碟上數據丟失。特別對於運用在商業領域中的Linux伺服器,數據的安全性、完整性和災難後的數據恢復能力是每一個Linux系統管理員最為關心的問題。Linux作為新一代網路操作系統,在伺服器方面的應用越來越廣泛。作為專門的網路伺服器,一個重要功能就是對伺服器數據進行備份,以確保數據的安全。

常見的Linux數據備份方法

Linux操作系統中的數據備份工作是Linux系統管理員的重要工作和職責。傳統的Linux伺服器數據備份的方法很多,備份的手段也多種多樣。常見的Linux數據備份方式僅僅是把數據通過TAR命令壓縮拷貝到磁碟的其它區域中去。還有比較保險的做法是雙機自動備份,不把所有數據存放在一台計算機上,否則一旦這台計算機的硬碟物理性損壞,那麼一切數據將不復存在了。所以雙機備份是商業伺服器數據安全的基本要求。通常情況下使用的雙機備份是雙機定時備份文件,而不是實時的。要實現雙機備份,必須先在單機上備份所有的文件,然後再把備份文件傳輸到其它機器上。這樣可能比較麻煩,而且有不足之處。例如,這樣做對於不需要備份的文件也要在網路上傳輸,會造成帶寬的浪費。

實現備份與刻錄的整合

為了彌補Linux上常見備份方法的不足,本文將講述使用sitback軟體將Linux伺服器磁碟中的指定數據進行自動備份,並刻錄到CDR光碟的方法,以達到數據在光碟中安全存儲的目的。此方法將數據備份和光碟刻錄兩個步驟整合在一起,自動化程度和安全性較高,而且sitback還能實現Linux網路中不同計算機之間的數據備份。

sitback簡介

sitback是一款基於開源協議開發的Unix平台下的自動備份軟體。與一些 Linux開放源碼軟體不同,sitback開發者僅提供源代碼壓縮包的形式給Linux用戶下載。盡管sitback沒有提供安裝方便的RPM格式,但是sitback的安裝採用了基於GNU協議的自動安裝和配置的automake/autoconf模式,使得一般的Linux系統管理員能順利地安裝調試好sitback。

sitback的獲取和安裝

目前sitback官方網站www.mrbean.dk提供的 sitback最高版本為0.3.1。為了能最大程度地體現sitback的最佳性能,sitback的開發者建議Linux用戶不要把sitback的開發版本和Beta測試版本使用到實際的數據備份中去,以防出現意外。

安裝sitback源代碼壓縮包可以根據以下幾個簡單的步驟完成:

◆建立臨時解壓目錄 /temp;

◆把sitback壓縮包拷貝到/temp目錄,並使用「tar xvfz sitback-x.x.x.tar.gz」命令對sitback源代碼壓縮包進行解壓;

◆執行./configure;

◆執行make;

◆執行make install。

通過以上幾個步驟可以迅速地安裝好sitback。請注意使用超級用戶root身份對sitback進行安裝。

編譯完sitback源代碼壓縮包之後,接著要在用戶根目錄中的Home目錄下創建一個.sitback目錄。該目錄用來存放一些數據備份和刻錄時產生的臨時文件,以及一些腳本文件或磁碟驅動器參數文件。

同所有通過編寫腳本文件來運行的程序一樣,sitback也需要Linux用戶自行編寫備份和刻錄的腳本文件,並讓Linux系統把sitback當作一個備份進程(backup-daemon)來自動執行。使用高效安全的Webmin管理系統來自動執行sitback也很方便。總之,用最少的代碼編寫出適合Linux系統實際情況的腳本是最為安全、高效的。

將數據刻錄至光碟的條件

讓sitback自動備份指定的磁碟數據,並將備份的數據直接刻錄到光碟中去,必須考慮的條件主要有以下幾點:

◆sitback運行的時間,即備份數據時間;

◆要備份的源目錄;

◆要備份到的目的目錄;

◆選擇存儲介質,包括磁介質、光存儲介質等;

◆是否要對備份數據進行校驗比較,提高備份安全性;

◆備份模式,全備份或部分數據備份;

◆備份數據還原問題。

sitback提供了很多參數供用戶選擇,具體參數和用法可以參考sitback源代碼壓縮包里的開發文檔和詳細的使用手冊。

實例運用

實例1

假設某Linux伺服器中有以下這些目錄:

◆/usr/smbdata 包含大多數應用軟體和用戶數據文件;

◆/usr/grafik 包含有重要的圖形文件。

為了備份以上兩個目錄數據,可以編寫一個腳本文件,代碼及說明如下:

ARCHIVE=/dev/st0

#定義要備份的數據

(ARCHIVE表示要備份的磁碟驅動器、文件目錄,甚至主機,例如:

「backuphost:/dev/st0」、

「backup@backuphost:/dev/nrt0」、

[email protected]:/tmp/temp_backup.tar.gz」等)

TARGET=/usr/smbdata

#要備份的目的目錄

TARGET=/usr/grafik

#要備份的目的目錄

COMPRESSION=YES

#備份模式為對數據進行壓縮後備份

VERIFY=YES

#對備份數據進行校驗

REPORTFILE=/usr/smbdata/latest_backup.txt

#產生備份報告文件

REPORTPRINTER=//penguin4/Canon

#列印機信息

SMBUSER=computer1

#SAMBA用戶端計算機名

SMBPASSWD=123abc

#訪問密碼

VOLUMENAME=Full backup - Taastrup

TIME=1;02;00

#備份時間,每天2:00進行備份

TIME=2;02;00

TIME=3;02;00

TIME=4;02;00

TIME=5;02;00

TIME=6;02;00

以上是一個簡單的數據自動備份腳本的樣本文件。如果想使用SysV初始化,可以在/etc/rc.d/init.d/中創建一個小的腳本文件來運行 sitback。在上述腳本最後一行加入「/usr/local/bin/sitback -d data」才能使得sitback自動運行。查看每次備份的情況時,可以打開臨時文件/.sitback/sitback.log,裡面有sitback 運行的詳細記錄。

實例2

使用sitback將Linux伺服器中數據自動備份、刻錄兩個步驟進行整合。

為了達到數據備份和光碟刻錄整合的目的,需要使用以下腳本來實現。它是來自sitback官方網站的樣板腳本。

# Full backup of /home/bean, excluding Images

#對/home/bean,目錄進行全備份

# [email protected] 2002

# Write the archive to my cd-writer at 0,0,0

#將備份數據在指定時間寫入CDR刻錄機中

# (Iomega ZIPCD 650, USB), use speed=2, so that i can 刻錄機硬體參數

# do other things while the backup is cooking. Also

# use on-the-fly to avoid too much temporary data.

# (my machine has no problem supporting this)

#

ARCHIVE=0,0,0

SPEED=2

#Iomega ZIPCD 650, USB刻錄機寫入速度,

CD ON THE FLY

#寫入方式

# It is a huge advantage to have the files directory available

# on the cd, not inside an archive, when restoring my

# setup, hence the type 'CDRW'

#

TYPE=CDRW

#光碟類型,CDRW可擦寫光碟

# Targets... Exclude Images

TARGET=/home/bean

#目標文件目錄

EXCLUDE=/home/bean/Images

#目標文件目錄中不用備份的目錄(即排除備份的目錄)

# Various stuff. Compression and verification will automagically

# be turned off by sitback, but i do not want the warnings either,

# so i just turn it off from the beginning...

#

VERIFY=NO

#對備份數據進行校驗

COMPRESSION=NO

#備份數據無需壓縮

# When done, put a backup report in /home/bean/backup.log

#

REPORTFILE=/home/bean/backup.log

#產生的備份報告文件及路徑

關於sitback備份數據的恢復及SSH等安全措施,此處不予舉例說明。總的來說,sitback是一款不可多得的Linux操作系統平台中優秀的數據備份和恢復工具,使用sitback可以使得企業實現安全而高效的備份。

『陸』 Oracle資料庫RMAN的自動備份腳本簡介

Oracle資料庫RMAN的自動備份腳本簡介

各位同學知道Oracle資料庫RMAN如何自動備份腳本嘛?下面我為大家整理了關於Oracle資料庫RMAN的自動備份腳本文章,希望能為你提供幫助:

1、資料庫設置為歸檔方式

2、資料庫的備份腳本

db_full_backup.sh :資料庫全備腳本

db_l0_backup.sh :資料庫0級備份腳本

db_l1_backup.sh :資料庫1級備份腳本

ftp.sh :數據FTP上傳腳本

ftp_del.sh :數據FTP清理腳本

rman_bak.sh :數據備份主程序

3、備份原理

每周1、3、6進行0級備份

每周日、2、4、5進行1級備份

備份文件上傳到FTP伺服器

FTP伺服器每周清理一次,但是清理後將周六和周日的備份進行保留(6.bak和0.bak)

所有工作防暑crontab中自動執行備份

4、備份目錄含義

arc :資料庫歸檔目錄

rmanbak :資料庫備份文件的保存目錄

rmanscripts :資料庫腳本存放路徑

5、FTP目錄

ftp上必須手動建立目錄

L0:

---1

---3

---6

---6.bak

L1:

---2

---4

---5

---0

---0.bak

rman_bak.sh腳本主程序

#!/bin/bash

#--------------------------------------------

# Oracle auto backup using rman

#

# author:songrh

# week:1,3,6 Level 0 backup

# 2,4,5,0 Level 1 backup

# Copyright by ChenLong Tec

#--------------------------------------------

#

#

export ORACLE_BASE=/u02/oracle

export ORACLE_HOME=/u02/oracle/proct/9.2.4

export ORACLE_SID=PROD

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

export NLS_LANG=american_america.ZHS16GBK

export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORA_NL33=$ORACLE_HOME/ocommon/nls/admin/data

export PATH=/bin:/usr/bin:/usr/sbin:$ORACLE_HOME/bin:$PATH

export PATH=$PATH:/opt/local/bin

#

SH_PATH=/u02/rmanscripts

ARC_PATH=/u02/arch

RMAN_BAK_PATH=/u02/rmanbak

#

#FULL_PATH=$RMAN_BAK_PATH/full

L0_PATH=$RMAN_BAK_PATH/L0

L1_PATH=$RMAN_BAK_PATH/L1

#

#DAY_TAG=`date "%Y-%m-%d"`

LOG_TAG=`date "%Y-%m-%d"`

#FIRST_DAY=`date %e`

WEEK=`date %w`

#WEEK=1

#

# FTP configure

IP="122.120.150.155"

FTPUSER="ftpbak"

FTPPASS="******"

FTPROOT0="L0"

FTPROOT1="L1"

#

DISK_USE=`df -k |sed -n '/u02/'p | awk '{print $5}' |sed 's/%//'`

####check path function

############

if [[ $DISK_USE -ge 90 ]]; then

rm -rf $L0_PATH/*

rm -rf $L1_PATH/*

fi

if [ "$WEEK" = "6" -o "$WEEK" = "3" -o "$WEEK" = "1" ]; then

if [ ! -d $L0_PATH ]; then

mkdir $L0_PATH

fi

if [ "$WEEK" = "1" ]; then

rm -rf $L0_PATH/*

rm -rf $L1_PATH/*

mkdir $L0_PATH/$WEEK

$SH_PATH/db_l0_backup.sh $L0_PATH/$WEEK

cd $L0_PATH/$WEEK

$SH_PATH/ftp_del.sh $IP $FTPUSER $FTPPASS $FTPROOT0 $WEEK $WEEK_$LOG_TAG.log

else

if [ ! -d $L0_PATH/$WEEK ]; then

mkdir $L0_PATH/$WEEK

$SH_PATH/db_l0_backup.sh $L0_PATH/$WEEK

cd $L0_PATH/$WEEK

$SH_PATH/ftp.sh $IP $FTPUSER $FTPPASS $FTPROOT0 $WEEK $WEEK_$LOG_TAG.log

else


;
熱點內容
我的世界介紹神奇寶貝伺服器 發布:2025-02-08 03:02:52 瀏覽:746
咪咕音樂linux 發布:2025-02-08 02:53:04 瀏覽:409
我的世界手機版大陸練習伺服器 發布:2025-02-08 02:50:43 瀏覽:212
php的特點與優勢 發布:2025-02-08 02:43:16 瀏覽:718
微信公眾號怎麼上傳pdf 發布:2025-02-08 02:42:41 瀏覽:348
安卓如何查看通話總時長 發布:2025-02-08 02:27:49 瀏覽:579
快速dct演算法 發布:2025-02-08 02:19:04 瀏覽:623
淘寶交易密碼如何改 發布:2025-02-08 02:17:32 瀏覽:775
php的進階 發布:2025-02-08 02:17:28 瀏覽:677
伺服器關閉中或IP地址錯誤 發布:2025-02-08 02:16:55 瀏覽:480