Ⅰ oracle(11g)求一個自動備份腳本
1、某一個時段自動備份用crontab計劃任務實現即可,例如
crontab -e添加
0 4 * * * /opt/bak.sh
2、刪除三天前的備份文件用find . -type f -mtime +3 -exec rm -rf {} \;實現
3、異地備份你就scp到其他主機上一份
4、實例bak.sh:
#!/bin/sh
today=`date +%Y%m%d%H`
bakfile=/opt/backup/bak_${today}.dmp
logfile=/opt/backup/logs/bak_${today}.log
find /opt/backup -type f -mtime +3 -exec rm -rf {} \;
#執行某些sql語句
#echo -e "select count(*) from table purge;"| sqlplus -s 'user01/123456'
exp user01/123456 file=$bakfile TABLES=T1,T2 log=$logfile
#你需要提前實現ssh無密碼訪問或者安裝sshpass之類的軟體
scp $bakfile [email protected]:/opt/backup/
Ⅱ oracle rman備份腳本怎麼寫
在ORACLE資料庫中,RMAN備份的腳本非常多,下面介紹一例shell腳本如何通過RMAN備份,以及FTP上傳RMAN備份文件以及歸檔日誌文件的腳本。
fullback.sh 裡面調用RMAN命令做資料庫備份,它使用的cmdfile為/home/oracle/backup/bin/fullback.rcv,同時在/home/oracle/backup/logs目錄下生成日誌文件。
1: [oracle@DB-Server bin]$ more fullback.sh
2:
3: #!/bin/bash
4:
5: export ORACLE_BASE=/u01/app/oracle
6:
7: export ORACLE_SID=gps
8:
9: ORACLE_HOME=$ORACLE_BASE/proct/10.2.0/db_1; export ORACLE_HOME
10:
11: TMP=/tmp; export TMP
12:
13: TMPDIR=$TMP; export TMPDIR
14:
15: PATH=/usr/sbin:$PATH; export PATH
16:
17: PATH=$ORACLE_HOME/bin:$PATH; export PATH
18:
19: LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
20:
21: CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
22:
23: export CLASSPATH
24:
25: TODAY=`date +%Y_%m_%d`
26:
27: rman nocatalog target / cmdfile /home/oracle/backup/bin/fullback.rcv log /home/oracle/backup/logs/fullbackup_$TODAY.log
28:
29: /home/oracle/backup/bin/ftpbackup.sh
30:
fullback.rcv文件非常簡單, 如下所示:
1: [oracle@DB-Server bin]$ more /home/oracle/backup/bin/fullback.rcv
2:
3: run{
4:
5: allocate channel c4 type disk;
6:
7: backup as compressed backupset
8:
9: skip inaccessible
10:
11: tag fullbackupwitharchivelog
12:
13: (database);
14:
15: backup current controlfile;
16:
17: backup spfile;
18:
19: sql "alter system archive log current";
20:
21: delete noprompt obsolete;
22:
23: release channel c4;
24:
25: }
26:
RMAN生成的備份文件,需要通過FTP上傳到FTP伺服器,一則資料庫伺服器沒有這么多空間存儲多天的備份,二則是出於容災、數據安全需要。
下面腳本中FTP伺服器,用戶名密碼均使用xxx替代,在實際環境中,使用具體的信息替代即可。
1: [oracle@DB-Server bin]$ more ftpbackup.sh
2:
3: #!/bin/sh、
4:
5: rm -f /home/oracle/.netrc
6:
7: date_yesterday=`date -d'yesterday' +%Y_%m_%d`
8:
9: date_today=`date +%Y_%m_%d`
10:
11: echo "default login xxxx password xxxxxx" >> /home/oracle/.netrc
12:
13: echo "macdef init" >> /home/oracle/.netrc
14:
15: echo "binary" >> /home/oracle/.netrc
16:
17: echo "cd archivelog" >> /home/oracle/.netrc
18:
19: echo "mkdir $date_yesterday" >> /home/oracle/.netrc
20:
21: echo "cd $date_yesterday" >> /home/oracle/.netrc
22:
23: echo "lcd /u04/flash_recovery_area/gps/archivelog/$date_yesterday" >> /home/oracle/.netrc
24:
25: echo "mput *" >> /home/oracle/.netrc
26:
27: echo "cd .." >> /home/oracle/.netrc
28:
29: echo "mkdir $date_today" >>/home/oracle/.netrc
30:
31: echo "cd $date_today" >>/home/oracle/.netrc
32:
33: echo "lcd /u04/flash_recovery_area/gps/archivelog/$date_today" >>/home/oracle/.netrc
34:
35: echo "mput * ">>/home/oracle/.netrc
36:
37: echo "cd .." >>/home/oracle/.netrc
38:
39: echo "cd ../backupset" >> /home/oracle/.netrc
40:
41: echo "mkdir $date_today" >> /home/oracle/.netrc
42:
43: echo "cd $date_today" >> /home/oracle/.netrc
44:
45: echo "lcd /u04/flash_recovery_area/gps/backupset/$date_today" >> /home/oracle/.netrc
46:
47: echo "mput *" >> /home/oracle/.netrc
48:
49: echo "cd .." >> /home/oracle/.netrc
50:
51: echo "cd ../autobackup" >> /home/oracle/.netrc
52:
53: echo "mkdir $date_today" >> /home/oracle/.netrc
54:
55: echo "cd $date_today" >> /home/oracle/.netrc
56:
57: echo "lcd /u04/flash_recovery_area/gps/autobackup/$date_today" >> /home/oracle/.netrc
58:
59: echo "mput *" >> /home/oracle/.netrc
60:
61: echo "quit" >> /home/oracle/.netrc
62:
63: echo "" >> /home/oracle/.netrc
64:
65: chmod 600 /home/oracle/.netrc
66:
67: ftp -i -v xxx.xxx.xxx.xxx 8021 >>/home/oracle/backup/logs/ftp$date_today.log 2>&1
68:
另外,關於歸檔日誌也需要每隔2小時上傳一次到FTP伺服器,2小時上傳一次歸檔日誌的shell腳本如下所示:
1: [oracle@DB-Server bin]$ more ftp2hours.sh
2:
3: #!/bin/sh
4:
5: rm -f /home/oracle/.netrc
6:
7: date_yesterday=`date -d'yesterday' +%Y_%m_%d`
8:
9: date_today=`date +%Y_%m_%d`
10:
11: echo "default login xxxx password xxxx" >> /home/oracle/.netrc
12:
13: echo "macdef init" >> /home/oracle/.netrc
14:
15: echo "binary" >> /home/oracle/.netrc
16:
17: echo "cd archivelog" >> /home/oracle/.netrc
18:
19: echo "mkdir $date_today" >>/home/oracle/.netrc
20:
21: echo "cd $date_today" >>/home/oracle/.netrc
22:
23: echo "lcd /u04/flash_recovery_area/gps/archivelog/$date_today" >>/home/oracle/.netrc
24:
25: echo "mput * ">>/home/oracle/.netrc
26:
27: echo "quit" >> /home/oracle/.netrc
28:
29: echo "" >> /home/oracle/.netrc
30:
31: chmod 600 /home/oracle/.netrc
32:
33: ftp -i -v xxx.xxx.xxx.xxx 8021 >>/home/oracle/backup/logs/ftp2hours.$date_today.log 2>&1
34:
最後需要將RMAN備份生成的日誌文件,以及FTP上傳備份文件以及歸檔日誌的記錄通過郵件形式發送給DBA或系統管理員,
1: [oracle@DB-Server bin]$ more chkbackandmail.sh
2: #!/bin/bash
3: rm -f /home/oracle/backup/bin/sendmail.pl
4: date_today=`date +%Y_%m_%d`
5: subject="Oracle Backup Alert Service on $date_today"
6: content="Dear colleagues,
7:
8: Attached please find the logs of xxx(xxx.xxx.xxx.xxx) oracle database backup and transfer to FTP Server(xxx.xxx.xxx.xxx), please
9: review the file and check whether the backup succeeded or not,and double check all backups have been mped to tape, many tha
10: nks
11:
12:
13:
14:
15: Best regards
16: Oracle Alert Services
17:
18: "
19: file="/home/oracle/backup/logs/fullbackup_$date_today.log,/home/oracle/backup/logs/ftp$date_today.log"
20: echo "#!/usr/bin/perl" >> /home/oracle/backup/bin/sendmail.pl
21: echo "use Mail::Sender;" >> /home/oracle/backup/bin/sendmail.pl
22: echo "\$sender = new Mail::Sender {smtp => 'xxx.xxx.xxx.xxx', from => '[email protected]'}; ">> /home/oracle/backup/bin/sendmai
23: l.pl
24: echo "\$sender->MailFile({to => '[email protected]',">> /home/oracle/backup/bin/sendmail.pl
25: echo "cc=>'[email protected],[email protected],[email protected]'," >> /home/oracle/backup/b
26: in/sendmail.pl
27: echo "subject => '$subject',">> /home/oracle/backup/bin/sendmail.pl
28: echo "msg => '$content',">> /home/oracle/backup/bin/sendmail.pl
29: echo "file => '$file'});">> /home/oracle/backup/bin/sendmail.pl
30: perl /home/oracle/backup/bin/sendmail.pl
最後在Crontab 作業裡面配置調用這些shell腳本。例如如下所示,在1:01分執行fullback.sh ,每隔兩個小時(例如0:50、2:50...)執行一次ftp2hours.sh, 在每天早上8:40執行chkbackandmail.sh 發送fullback.sh 以及ftp2hour.sh的執行日誌記錄。
Ⅲ 求一個文件備份腳本bat命令cmd
x/s/e/d/yD:*D:a
這樣就可以增量備份,如果b目錄的文件比a目錄的文件新,就替換,否則就不替換。沒有的就直接復制過去。
Ⅳ 求助:怎樣備份腳本
聰明的人會用export的方式進行導出明文備份。詳細查本BBS---------------------------------------------------------------------------------簡單的問題:
system
backup
load
name=backup.bak備份:system
backup
save
name=backup.bak測試環境:ros3.0
rc5這是全系統備份。格式是官方的。查export的用法[
本帖最後由
cracks
於
2007-10-6
19:53
編輯
]
Ⅳ linux 每日自動備份文件的腳本
1、比如每天產生一個/data/access.log這樣的文件,我們每天備份到backup目錄的access_2011-01-12.log.gz這樣的文件。
2、增加計劃任務
export
EDITOR=vi
crontab
-e
0
0
*
*
*
/data/bak.sh;
3、bak.sh文件內容如下:
cat
/data/bak.sh
#!/bin/bash
logs_dir=/data
bak_dir=/data/backup
bak_file=access_`date
+%Y%m%d`.log
#
tar
everyday
#echo
"begining
of
tar"
tar
zcf
$bak_dir/$bak_file.gz
$logs_dir/access.log
#
clear
bak_file
#echo
"clearing
file.log"
find
$bak_dir
-mtime
+7
-exec
rm
-rf
{}
\;
#end
求採納為滿意回答。
Ⅵ 編寫一個程序,用於實現文件的備份
注意本腳本是應用於archive log模式下的,另外資料庫的用戶名密碼,自己在腳本里改一下,腳本是帶參數的,參數是備份的目標目錄,注意要有寫許可權。#!/bin/sh
mypath=$1
if [ -z $mypath ] ; then
echo 'Please Use This Command Like ./backup /u01/backup'
else
if [ -d $mypath ] ; then
ORACLE_SID=dzzd; export ORACLE_SID
ORAENV_ASK=NO; export ORAENV_ASK
rm -Rf aa.txt
sqlplus -s "system/oracle9i"<<EOF
set head off
set feedback off
spool aa.txt
select tablespace_name from dba_tablespaces;
spool off
EXIT
EOF
for spacename in `cat aa.txt`
do
echo $spacename |grep "^TEMP"
if [ "$?" -eq "0" ]
then
echo TEMP no need backup else
else
echo begin backup $spacename
sqlplus -s system/oracle9i<<SETSTA
alter tablespace $spacename begin backup;
EXIT
SETSTA
rm -Rf bb.txt
sqlplus -s system/oracle9i<<DATAFILE1
set head off
set feedback off
spool bb.txt
SELECT 'cp '||file_name||' $mypath'||SUBSTR(FILE_NAME,INSTR(FILE_NAME,'/',-1,1))
FROM dba_data_files where tablespace_name=trim('$spacename');
spool off
EXIT
DATAFILE1
sh bb.txt
sqlplus -s system/oracle9i<<SETSTA
alter tablespace $spacename end backup;
EXIT
SETSTA
echo end backup $spacename
fi
done
else
echo "Please Input a Right Direction"
fi
fi
mhere 回復於:2003-11-07 15:07:05
好!
能不能有一個純文本的附件?
txfy 回復於:2003-11-07 15:18:13
不能上傳文本文件,把內容沾出來放到backup文件中,chmod 755 backup, 就可以運行了 ./backup /u01
steal 回復於:2003-11-07 15:27:42
請教一下:
我用
sql>set head off
sql>set feedback off
sql>spool a.txt
sql>SELECT 'cp '||file_name||' $mypath'||SUBSTR(FILE_NAME,INSTR(FILE_NAME,'/',-1,1)) FROM dba_data_files where tablespace_name=trim('$spacename');
sql>spol off
但是在a.txt中還是有
SELECT ...........
spool off
等內容
不能直接sh 運行啊?
txfy 回復於:2003-11-07 15:32:33
要整個執行前面的
sqlplus -s "system/oracle9i"<<EOF 會保證不出問題的!你整個執行一次看看!
txfy 回復於:2003-11-10 09:47:04
版本更新:增加了如果不是archivelog模式自動退出,命令使用格式提示,錯誤命令格式自動退出,以及錯誤提示等方面,只需將這個腳本放到一個文件例如backup中,並chmod 755 backup,然後用./backup <dir>就可以了(dir為你要備份到的目錄)。
#!/bin/sh
ORACLE_SID=dzzd; export ORACLE_SID
ORAENV_ASK=NO; export ORAENV_ASK
rm -Rf arch.txt
sqlplus -s "/ as sysdba" <<ARCH
set head off
set feedback off
spool arch.txt
select log_mode from v$database;
spool off
EXIT
ARCH
for archstat in `cat arch.txt`
do
echo $archstat |grep "^ARCHIVELOG"
if [ "$?" -eq "0" ] ; then
mypath=$1
if [ -z $mypath ] ; then
echo 'ERROR: Please Use This Command Like ./backup /u01/backup'
else
rm -Rf direc.txt
sqlplus -s "/ as sysdba" <<dire
set head off
set feedback off
spool direc.txt
select '$mypath' from al where trim('$mypath') like '%/';
spool off
exit
dire
if [ -s direc.txt ] ; then
echo 'ERROR:Please Do Not Add / At The End Of The Direcotry!'
exit
fi
if [ -d $mypath ] ; then
rm -Rf aa.txt
sqlplus -s "/ as sysdba"<<EOF
set head off
set feedback off
spool aa.txt
select tablespace_name from dba_tablespaces;
spool off
EXIT
EOF
for spacename in `cat aa.txt`
do
echo $spacename |grep "^TEMP"
if [ "$?" -eq "0" ]
then
echo TEMP no need backup else
else
echo "---------------------------------------------------------------------------------------------"
echo Begin Backup $spacename
sqlplus -s "/ as sysdba"<<SETSTA
alter tablespace $spacename begin backup;
EXIT
SETSTA
rm -Rf bb.txt
sqlplus -s "/ as sysdba"<<DATAFILE1
set head off
spool bb.txt
SELECT 'cp '||file_name||' $mypath'||SUBSTR(FILE_NAME,INSTR(FILE_NAME,'/',-1,1))
FROM dba_data_files where tablespace_name=trim('$spacename');
spool off
EXIT
DATAFILE1
sh bb.txt
sqlplus -s "/ as sysdba"<<SETSTA
alter tablespace $spacename end backup;
EXIT
SETSTA
echo NOTES: End Backup $spacename
fi
done
echo "---------------------------------------------------------------------------------------------"
echo "NOTES: Begin Backup ControlFile!"
rm -Rf $mypath/control.dbf
sqlplus -s "/ as sysdba"<<BACKCON
set head off
set feedback off
alter database backup controlfile to '$mypath/control.dbf';
EXIT
BACKCON
echo "NOTES: End Backup ControlFile!"
echo "---------------------------------------------------------------------------------------------"
echo "NOTES: Begin Backup ArchiveLogFile!"
rm -Rf $mypath/arc
mkdir $mypath/arc
rm -Rf arc1.txt
sqlplus -s "/ as sysdba"<<ARC
set head off
set feedback off
spool arc1.txt
alter system switch logfile;
SELECT 'cp '||name||' $mypath/arc'||SUBSTR(NAME,INSTR(NAME,'/',-1,1))
FROM v$archived_log where status!='D' and status!='X';
spool off
EXIT
ARC
sh arc1.txt
echo "NOTES: End Backup ArchiveLogFiel!"
else
echo "ERROR: Please Input a Right Direction!"
fi
fi
else
echo "ERROR: Your Database Is Not Run At Archive Mod!"
fi
done
zhoujin0901 回復於:2003-11-24 10:06:48
sqlplus -s "system/manager"<<EOF
系統提示`<' is not matched
為什麼???
RobinWang 回復於:2003-11-24 11:04:51
for spacename in `cat aa.txt`
系統提示錯誤,能給說一下嗎?
Ⅶ 編寫腳本實現以下功能;每天早上5點開始做備份
[root@haojiu ~]#cat /root/mylogbak.sh
#!/bin/bash
#scripts for dirbakup and upload to ftp server.
#author by haojiu
#create by
bakdir=mylog
date=`date +%F`
cd /var
tar zcf ${bakdir}_${date}.tar.gz ${bakdir}
sleep 1
ftp -n <<- EOF
open 192.168.142.129 #遠程ftp伺服器IP
user aaa bbb
put mylog_*.tar.gz
bye
EOF
rm -rf mylog_*.tar.gz #這步之前可以做一個判斷,判斷文件上傳成功再執行rm,留給各位發揮吧。
添加crontab:
crontab -l
00 05 * * * /bin/bash /root/mylogbak.sh #每天早上5點開始執行備份腳本
如果有什麼不懂的話可以去看看《Linux就該這么學》這本書,非常適合新手學習Linux。
Ⅷ oracle資料庫備份軟體哪個好
推薦使用多備份,增量備份,兼容性和擴展性都非常好,而且操作簡單。
Ⅸ 請幫忙寫個備份的腳本或批處理
@echo off
cd /d "C:\Documents and Settings\Administrator\BitNami Redmine Stack projects"
echo 94a342c0ed | mysqlmp -u bitnami -p bitnami_redmine > redmine_backup.sql
set pa=F:\backup\%date~0,4%%date~5,2%%date~8,2%
/y redmine_backup.sql %pa%
exit
建立計劃任務,將上面的保存成BAT,添加到計劃任務里就可以了
只是我不知道mysqlmp這個命令是否支持"|"管道,如果不行的話,你看下mysqlmp是否有帶密碼的參數,例如net use就不能用這種方法載入密碼的,但他可以帶[password]參數 使用,
還是MS SQL好用簡單,自動化任務一次搞定,終生受益! (*^_^*)
Ⅹ 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可以使得企業實現安全而高效的備份。