免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2603 | 回复: 7
打印 上一主题 下一主题

[FreeBSD] 请教大家一个freebsd下的备份方案! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-04-09 10:41 |只看该作者 |倒序浏览
在大家的帮助下终于把freebsd服务器全部调试好!谢谢!

      现在我面临的就是管理的问题。我想对系统进行备份,以便在遇到问题时迅速的恢复。

       我将可能会遇到的问题分为2类:一类是服务器遇到到攻击资料被毁!一类是系统硬件损坏(如硬盘坏了!)

       我的备份目标是,在遇到上述问题时,可以用尽可能快的速度,方便的恢复系统(包括数据)。因为没有磁带机,我希望可以备份的局域网内的其他电脑上(其他电脑的OS是windows 2000 pro),当然,我也可以手工把备份文件拷贝到其他电脑上!

        我的系统上有web,bbs等应用(bbs用到了mysql数据库)。

        我想做2个备份,一个是系统刚装好后的全系统备份。一个是每日的数据备份。

        这样我就可以在系统受损时,先恢复系统,再恢复数据,然后就可以立刻继续提供服务了!

         请问大家,我应该怎样来设计备份方案呢?用什么程序呢?怎样做呢?我以前没有接触过UNIX下的备份,大家能给些详细的,简单易懂的方案吗?谢谢!!!!!

谢谢!!!!

论坛徽章:
0
2 [报告]
发表于 2003-04-09 11:18 |只看该作者

请教大家一个freebsd下的备份方案!

系统调整好后,把配置文件(多为*.conf)备份一下。
用tar打个大包也不错
mysql的备份推举用mysqldump

每日的备份可用shell来完成,让红JJ给写一个吧

论坛徽章:
0
3 [报告]
发表于 2003-04-09 11:33 |只看该作者

请教大家一个freebsd下的备份方案!

原帖由 "i2era" 发表:
系统调整好后,把配置文件(多为*.conf)备份一下。
用tar打个大包也不错
mysql的备份推举用mysqldump

每日的备份可用shell来完成,让红JJ给写一个吧
这会红技术员有活干了吧?!哈哈…………写一个。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2003-04-09 11:48 |只看该作者

请教大家一个freebsd下的备份方案!

最好的办法就是买个磁带机去,方便~

论坛徽章:
0
5 [报告]
发表于 2003-04-09 16:27 |只看该作者

请教大家一个freebsd下的备份方案!

有个简单的.就是我这的每日备份的脚本
#!/bin/sh

backup_dir=/.2/backup/hosix
log=/var/log/backup.log

#if mount /mo
#then
#       echo -n "MO disk mounted on /mo"
#else
#       echo "Error on mounting MO disk"
#       return 1
#fi

#
# Configuration files

tar -cvzf $backup_dir/etc.tgz  /etc     >;$log
tar -cvzf $backup_dir/usr_local_etc.tgz  /usr/local/etc >;>;$log

#
# web site

tar -cvzf $backup_dir/www.tgz --exclude *usr/local/www/root/lib/docs*  /usr/local/www   >;>;$log

#
# home pages

#tar -cvzf $backup_dir/home_pages.tgz  ~jeka/public_html ~caiyuan/public_html ~ultra/public_html
        >;>;$log

#
# Kernel configuration
tar -cvzf $backup_dir/kernel.tgz  /sys/i386/conf        >;>;$log

#
# Root home

tar -cvzf $backup_dir/root.tgz  /root   >;>;$log

#
# Contrib files

tar -cvzf $backup_dir/contrib.tgz  /ftp/pub/contrib     >;>;$log

#
# CVS

tar -cvzf $backup_dir/cvs.tgz  /.1/cvs  >;>;$log

#
# /var

tar -cvzf $backup_dir/var.tgz /var/cron/tabs  /var/db/pkg       >;>;$log
## Postgresql database

echo "Backuping pgsql database" >;>;$log
export PGUSER=pgsql
export PGPASSWORD=",thtpf"
PATH=$PATH:/usr/local/pgsql:/usr/local/pgsql/bin:/usr/local/pgsql/data:/usr/local/pgsql/database
su pgsql -c `exec /usr/local/pgsql/bin/pg_dump template1 -o | gzip -9 - >; $backup_dir/pgsql_templa
te1.gz`
su pgsql -c `exec /usr/local/pgsql/bin/pg_dump guestbook -o | gzip -9 - >; $backup_dir/pgsql_guestb
ook.gz`
su pgsql -c `exec /usr/local/pgsql/bin/pg_dump rating -o | gzip -9 - >; $backup_dir/pgsql_rating.gz
`
echo "Done.">;>;$log

# umount /mo


备份到/.2去,只是用的是pgsql

论坛徽章:
0
6 [报告]
发表于 2003-04-09 16:47 |只看该作者

请教大家一个freebsd下的备份方案!

谢谢!你的帮助!
有个问题向请教一下:
我用的是mysql,应该怎样做呢?

论坛徽章:
0
7 [报告]
发表于 2003-04-09 17:05 |只看该作者

请教大家一个freebsd下的备份方案!

注意下面这个语句:
tar -cvzf $backup_dir/etc.tgz /etc >;$log
这样的句子该文件里很多,这样就把以前的备份干掉了,无法恢复到较早的设置。
另外cvsupd也是一种镜像的备份方式。
不过这些代替不了增量备份。
最终的也是最好的办法还是用dump做增量备份。
具体请看
man dump
很easy的

论坛徽章:
0
8 [报告]
发表于 2003-04-09 18:55 |只看该作者

请教大家一个freebsd下的备份方案!

Unix系統基本的備份與回復工具—dump及restore



前言

      標準的 UNIX 系統皆有提供基本的備份工具, 這些工具在某種程
    度上可說是無趣的, 它們的功能並不特別花俏且有許多限制,有些
    至今仍有小錯誤(如, 某些  UNIX  版本終於將  dump  中”倒帶
    tape-rewinding ”的錯誤加以更正)。

      然而這些基本備份工具中, 仍有些功能尚未被商業備份廠家吸收
    採用,因此這些功能會長久存在且不用額外花錢購買。 它們在任何
    平台環境的運作方式大致相同,如有差異也只有少許的不一樣。 無
    論您是否剛接觸備份世界, 或是經驗豐富的系統管理者,都必須熟
    悉這些工具。

Dump, cpio,tar與dd之運用時機

      不同備份工具之間有不同的差異與優缺點。 Dump 及 restore 通
    常是最好的選擇,其次是 cpio, 但它比 tar 來得不親和些; tar
    則比 dump 或 cpio 更容易使用且更具攜帶性。 如果希望使用 tar
    或 cpio 備份 raw devices 或執行遠端備份,那麼 dd 可以是您的
    另一項選擇。

dump及restore工具

      如果您正在負責備份至少一個以上的 UNIX 伺服器, 但經濟上無
    法負擔商用備份產品, 也不信任免費的公共軟體來備份重要資料,
    那麼最好您的 UNIX 版本有提供 dump 及 restore 指令,它們在備
    份及回復整個系統上非常具有彈性與變化。 dump 及 restore 是相
    當複雜的指令, 附有一簡單的介面及數個基本選項,這些選項在大
    部份的 UNIX 系統是相同的。 有些 UNIX 版本改變了 dump 的名字
    或部份特性,但這些改變都是非常小的。dump 也出現在仿 UNIX 系
    統中,如:Linux 及 Network Appliance 系統。在未來您可能並不
    打算使用 dump 來備份資料, 但是您卻會有機會從某處的 dump 資
    料卷中讀取內容, 屆時,本文將帶給您相當的幫助。

cpio備份工具

      如果沒有 dump 指令或者 dump 版本不符所需, 則 cpio 是您的
    下一個好選擇。cpio 比其它備份工具存在的時間久,且具有一些其
    它工具所缺乏的重要特性。 但首先需說明的是,有些功能 dump 有
    提供而 cpio 則無者,如下:

‧無需使用touch或find檔案,即可執行變動備份(incremental backup
   );

‧備份完後不改變資料的atime及ctime;

‧以互動方式執行資料回復,如restore的選項-i。

      cpio 是一個非常有用的備份工具,它最大的不同處,是可以備份
    從標準輸入( stdin )而來的的檔案。 目前有些新版的 tar 支援
    從標準輸入來的檔案備份,但大部份尚未有此功能。

為什麼cpio較不常被使用?

      如果 cpio 如此好用,為何 tar 卻比較風行?最可能的理由是同
    樣的功能,tar 比 cpio 較簡單易用(也較標準)。 例如:每個版
    本的 tar 都支援 tar cf device  及 tar xf device, 然而 cpio
    有時支援 I 及 O;有的版本則無。如果將 cpio 每種版本的選項累
    計,則有近 40 個選項, 甚至有些使用同一字母的參數,在不同版
    本的 Unix 有不同的意義。 但您只要使用在大部份平台皆標準的選
    項,那麼,cpio 幾乎與 tar 一般簡單好用。

tar備份工具

      如果需要定期備份整個作業系統,dump 可能是最好的選擇。其次
    是 cpio, 因為它可與  find  搭配執行變動備份(  incremental
    backup )。如果您像大部份的人一般,只為了將資料做一次完整的
    備份,那麼就不需要定期或變動備份等功能。 例如,您可能希望快
    速地備份使用者 /home 目錄。您可能想要刪除使用者的一大群目錄
    與檔案, 但唯一可讓使用者接受的備份方式,是將其資料全部寫入
    磁帶或光碟內儲存並交給他。 因此您不在乎 atime,不需定期做變
    動備份, 只希望將一堆資料放到備份媒體上,而且也希望他人可以
    很容易地將資料從備份中取出, 在這種情況下,tar 會是個最佳選
    擇。

      有一些功能是  cpio 有而大部份的 tar 則無的( GNU tar 沒有
    這些限制),例如:

‧可以備份來自stdin的檔案;

‧當備份完成時重新設定檔案的atime,儘管這會改變其ctime。

      雖然 tar 的歷史並不比 cpio 來得久,但它卻得到較大的接受度
    ,這也正是它的特點之一。幾乎每個人都知道如何讀 tar 檔,即使
    不會也很容易學。 有些程式如 WinZip, 甚至可以自動地解開一個
    tar  檔或壓縮過的  tar 檔以讀取其內容(  WinZip  卻無法開啟
    cpio 檔)。tar 也較 dump 或 cpio 在 Unix 平台間具可攜性。

dd工具

      大部份的人不常使用 dd 來作備份, 它是一個相當低階的指令,
    可將資訊內涵的每個位元( bit )原封不動地從一個地方搬到另一
    個地方, 它不管也無需知道備份資料的結構。 因此不同於  dump,
    tar, 及 cpio, 它不可以拷貝一群檔案至儲存媒體, 只可以拷貝一
    個檔案或一檔案的部份或 partition 或部份 partition,甚至可以
    在資料修改中途將資料從標準輸入(  stdin  )拷貝至標準輸出(
    stdout )。即使 dd 可以拷貝單一檔案,但其對檔名或檔案內容是
    一無所知的, 它純粹只是從一個地方搬運檔案的位元內容至另一個
    地方而已。

      這種方式看似相當簡單, 相對地它也相當有彈性,可以在不考慮
    資料格式之下執行拷貝動作, 因此它可在兩個不同平台間作資料轉
    換。 例如:從 EBCDIC 到 ASCII,或 Oracle 允許資料以檔案系統
    下的檔案形式存在, 亦可以直接放在原始磁碟區塊上,然而備份程
    式無法預測資料庫管理師會以何種方式存放資料, 故採用富彈性的
    dd 作自動備份,甚至備份結果是混合此兩種資料形式也無妨,亦即
    有些在檔案系統中,有些則在原始磁碟上。 如此,資料管理師可依
    資料應用特性決定其存放形式,可見 dd 所提供的彈性助益甚大。

其它備份工具

      尚有其它較不為人知或只出現在某些平台的備份工具, 其中較常
    使用的包括:

‧pax:pax是Portable Archive eXchange的縮寫,可產生一可攜式的備
       份,    此備份格式符合    IEEE    Std.1003.1-1988     的
       Archive/Interchange File Format。 pax 亦可讀寫一些其它的
       檔案格式如 tar 或 cpio。 正如 Unix 世界的許多現象般,pax
       也有一群擁護者認為它是備份工具中最好的選擇。

‧fbackup:fbackup只有HP-UX提供且屬於HP的System Administration
           Menu ( SAM )的工具之一,使用 fbackup 作的備份, 只
           能在另一個  HP-UX 主機上使用 frecover  讀取之。 僅管
           fbackup 比傳統的 tar 及 cpio 有較多的功能, 但它缺乏
           可攜性的缺點是非常使人詬病的。 即使您無法用 SAM 來操
           作 dump, cpio 或 tar,但這三個指令的可攜帶特性,絕對
           值得您花較多的心力去使用它們。

使用dump備份資料

      對許多系統環境而言,dump 是一確保備份品質的好工具。為使用
    dump 及 restore 作定期系統備份,必須先了解下面事項:

‧如何使用dump備份檔案系統;

‧如何備份至儲存媒體上;

‧如何從一dump檔讀取其內的資料目錄;

‧如何處理dump檔並從dump檔中將資料回復。

dump指令的語法

先從dump的基本指令開始:

# dump levelunbdsf blkg-factor density size device-name
  file_system

下面是執行此指令的例子:

.對/home做一完整備份至本地磁帶機/dev/rmt/0cbn:

# dump 0unbdsf 126 141000 11500 /dev/rmt/0cbn /home

‧對/home做一完整備份至光碟機/backup/home.dump:

# dump 0unbdsf 126 141000 11500 /backup/home.dump /home

‧對/home做一完整備份至遠端主機hsm的磁帶機/dev/rmt/0cbn:

# (r)dump 0unbdsf 126 141000 11500 hsm:/dev/rmt/0cbn /home

      上述的指令包含不需要參數的三個選項( 0,u, 及 n ),及需要
    參數的四個選項( b,d,s 及 f )。

      dump 指令的第一個參數是一串選項,然後每個選項對應的參數依
    照選項的順序依次放置於指令行,參見圖一。

dump指令的選項

在大部分的平台上,dump有七個主要的選項:

0 -9:標示dump應執行的備份階層。

b:標示dump應使用的區塊數目因子。

u:告訴dump須更新dumpdates檔案。

n:告訴dump,當完成dump動作時通知操作者及與其同一組(group)的
   人。

D 及 s:告訴dump備份的資料量多大,dump利用這些數字預估需要多少
  ”磁帶”。

f:告訴dump使用何種儲存設備。

W, w:此選項幾乎很少用到,它告訴dump執行假備份以判斷有那些檔案
      系統必須備份。

      如果欲使用 dump 定期執行系統備份,那麼, 您應會用到上述大
    部份的選項。 這些選項有預設值,如無特別要求,可不用特別標明
    dump 選項及其參數,例如:預設的備份階層通常是 9。預設值的問
    題是它們會因不同的作業系統而不同, 甚至同一個作業系統也會因
    儲存媒體的不同而有差異。 最好的方式是在所有的 dump 備份都標
    明相同的選項,有助於資料回復的容易度。

使用resotore工具回復資料

      您必須相當熟悉以不同的方式使用 restore 指令,從 dump 產生
    的備份中取得資料。

含備份資料的儲存媒體可讀否?

      為確保你知道備份磁帶的格式與區塊數目大小, 先嘗試列出它的
    目錄。 下列指令可產生 dump 備份磁帶的目錄:  $ restore tbfy
    block_size device-name

      例如,從一個在 /dev/rmt/0cbn 磁帶設備上的 dump 磁帶(使用
    的區塊因子是 32 )讀取其目錄,指令如下:

$ restore tbfy 32 /dev/rmt/0cbn

restore指令的語法

      一旦可以讀取 dump 磁帶, 您必須決定要讀什麼資料及如何讀它
    ,以下討論 restore 一般常用的參數。

基本上,有四件事情是你希望dump磁帶提供的:

‧讀取dump磁帶的目錄以確認內容是否需要;

‧回復整個檔案系統;

‧回復選定的檔案;

‧執行互動式的回復。

一般restore指令語法如下:

restore [trxi]vbsfy blocking-factor file-number device-name

restore指令的選項

      restore 的行為如何,端視其後的參數型態決定回復的形式。 第
    一個參數指明 restore 的型式,只可以從四種可能的參數中挑選一
    種:

t:告訴restore顯示備份磁帶的目錄。

r:指明備份磁帶的整卷內容回復到目前的工作目錄之下。

x:只回復restore指令行末端所列的檔案。

i:以互動方式回復資料。

決定回復的行為

下面的參數不是必須的,但會影響回復的行為:

v:指定以明細(verbose)的方式輸出。

s:在開始讀磁帶前需跳過一些磁帶上的檔案。

b:指定正要讀取磁帶的區塊因子。

f:標明正使用的備份設備之檔名。

y:告訴restore嘗試從讀取錯誤中救回。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP