LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1004|回复: 2

我想做个stage4 请问那些目录不需要备分的

[复制链接]
发表于 2006-1-14 11:58:03 | 显示全部楼层 |阅读模式
我想做个stage4 请问那些目录不需要备分的
这个脚本看上去 很不错

## 备份档(steageX)的储存目录, 确记得要 “/” 在尾
stage4Location=./

这个是指定stage4放到那个位置的 比方说我把它指定到 /usr/local/stage4 目录下
是不是就需要在
dir_excludes中指定/usr/local/stage4

## 不需要备份的目录, 记得 !!不!!要 “/” 在尾。
dir_excludes="/dev /proc /sys /tmp /usr/src /usr/local/BACKUP /usr/portage/distfiles /root /opt /var/tmp /home  /mnt"



[PHP]#! /bin/bash
##  Backup script for Gentoo Linux
##  Author: BrianW
##  Author: Akar Chen (i18N -- zh)
##  i18N_Date: 2004.12.11
##  Date: 2004.10.26.
##  Adapted from backupHome.sh by fdavid
##  Adapted from mkstage4.sh by nianderson

## 这是系统壳脚本(bash),协助你建立整个系统的备份,(Gentoo的 stage4!! ^_^)
## 原作者说:他用来每星期备份,真的不敢效仿!! >_<
## @@译者是用这来备份 Gentoo stage1->stage2->stage3->stage4的基本系统建立过程的备份

## 一下是一些选项(配置),请把它改成适合您的需要!!
## -----------自定化区域!开始!-------------------

echo -=- 开始 备份...
echo -=- !注意! 记得先 根据您的系统的实际情况 来修改这脚本,来适合您的需要!!
echo -=-

echo -=- 初始化 各项选项(配置)。。。

## 备份档(steageX)的储存目录, 确记得要 “/” 在尾
stage4Location=./

## 备份档(steageX)的档案名。
archive=$stage4Location$(hostname)-stage4-$(date +%F).tar.bz2

## 不需要备份的目录, 记得 !!不!!要 “/” 在尾。
dir_excludes="/dev /proc /sys /tmp /usr/src /usr/local/BACKUP /usr/portage/distfiles /root /opt /var/tmp /home  /mnt"


## 不需要备份的文档, 可用  * !!
## 例:file_excludes="*.mpg *.rmvb"
file_excludes=""

## 脚本等待用户取消执行的时间 (秒)
sleeping=3
## 请改下一个,不要改上一个!!   --00--[ !妙招! 自夸一下 :-) ]--00--
sleeping=7

## -----------自定化区域 !终止!-------------------

## 合并不需要备份的 目录 和 文档。
excludes="$(echo -n "--exclude=$archive") $(for i in $dir_excludes; do if [ -d $i ]; then echo -n " --exclude=$i/*"; fi; done) $(for i in $file_excludes; do echo -n " --exclude=$i"; done)"

## 组合成 建立备份的 tar 指令。
tarOptions="$excludes --create --absolute-names --preserve-permissions --bzip2 --verbose --totals --file"

echo -=- 完成 ,各项选项(配置)的 初始化!
echo -=-

##!译注! 因为我的 /boot 就在根分区上,所以把/boot的备份过程去掉了!! 详见原脚本。

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


## 建立 备份档。
echo -=- 准备建立 tar压缩备份档 tarball \=\=\> $archive 到当前目录!
echo -=-
echo -=- 将在 $sleeping 秒 之后执行 这个备份指令:
echo -=- !!您现在仍可以用 Ctrl + C 来取消!!
echo -=- tar ${tarOptions} ${archive} /
sleep $sleeping

echo -=- 正在执行以上的备份指令,保存备份包到当前目录!
tar ${tarOptions} ${archive} /;

echo -=- 备份完成


##  This is the end of the line.
## 本脚本的最后一行。
echo -=- 备份脚本执行 完成![/PHP]
 楼主| 发表于 2006-1-14 12:00:24 | 显示全部楼层
主要我想用上reiser4
回复 支持 反对

使用道具 举报

发表于 2006-1-14 14:19:13 | 显示全部楼层
/var/tmp/portage
/var/tmp/ccache
/usr/portage

恢复时到网上down个最新的portage解压到/usr 即可,最好不要在当前系统下备份,用livecd 或别的linux备份比较好
(转载:)
  1. 大家都知道要做資料備份及設定檔的備份。但有沒有想過做整個系統的備份呢?例如自己不小心rm -rf或是chmod -R 777敲得太快後面打了/ 之後還沒來得及打目錄就按了Enter;系統被入侵;斷電導致整個硬碟完蛋;又或是系統被自己莫名其妙地搞壞了最終都不懂怎麼修復等等。這時候似乎只有重裝了,但Gentoo重裝可不是一件輕鬆的事喔!如果你做了整個系統的備份就不用怕了!Windows裡有Ghost,linux下有Partimage 和Mondorescue,但始終我還是覺得unix常見的工具反而是最具靈活性的。

  2. 用LiveCD或Knoppix開機,並將根分區掛好:/mnt/gentoo。如果你的/boot,/usr用的是獨立的分區或硬碟,你必須把它們分別掛到/mnt/gentoo/boot ,/mnt/gentoo/usr等目錄裡。然後:
  3. 代碼:
  4. # cd /mnt/gentoo
  5. # tar -cz --exclude-from /mnt/gentoo/root/exclude-list -pivO * | split -a 1 -b 700m - /path/to/mybackup.tar.gz-

  6. 這樣會產生好幾個包mybackup.tar.gz-a, mybackup.tar.gz-b等等,每個最大700m(方便燒碟)。exclude-list可以事先寫好,類似這樣:usr/portage/distfiles
  7. var/tmp/portage
  8. home/yourusername/music
  9. home/yourusername/video
  10. 並放到你的gentoo分區的/root裡。
  11. 注意存放備份包的地方要有足夠的空間,如果在不同的分區,事先要掛好。
  12. 還原的時候,先要在有關的分區上重建檔案系統,並象以上所說的那樣掛載好,然後:
  13. 代碼:
  14. # cd /mnt/gentoo
  15. # cat /path/to/mybackup.tar.gz-* | tar xzvf -

  16. 為什麼要用LiveCD啟動呢?這是因為運行中的系統並非靜態,不應該簡單地去tar根目錄;有的程序如partimage甚至要求卸載備份的分區。當然也有可以在運行中的系統做完全備份的程序啦,Mondorescue就是一個例子;這些程序都頗為複雜,不過有興趣的朋友可以自己試試。

  17. 我自己有個分區裝了個後備系統。這樣每當其他系統出了問題,我不至於沒機子用。這個後備系統我平時很少用,更不會去瞎調;但我機子的grub是從這裡裝的,備份或搶修其他分區也是在這裡做的。這個後備系統本來是Knoppix的硬碟安裝(因為現在Knoppix硬碟安裝實在是太容易了),不過我已經把它換成了gentoo了(已經有了備份就什麼都不用怕了)! Very Happy
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表