10.2.2. 一个系统备份的脚本例子
对于运行 unstable
套件的个人 Debian 桌面系统来说,只需要保护个人数据和关键数据。我不管怎样每年都会重新安装一次系统。因此没理由去备份整个系统或者安装全功能的备份实用程序。
我使用简单的脚本来制作用于备份的压缩文件并用 GUI 界面把它烧写到 CD/DVD 里。以下是关于这个的脚本例子。
#!/bin/sh -e
# Copyright (C) 2007-2008 Osamu Aoki <osamu@debian.org>, Public Domain
BUUID=1000; USER=osamu # UID and name of a user who accesses backup files
BUDIR="/var/backups"
XDIR0=".+/Mail|.+/Desktop"
XDIR1=".+/\.thumbnails|.+/\.?Trash|.+/\.?[cC]ache|.+/\.gvfs|.+/sessions"
XDIR2=".+/CVS|.+/\.git|.+/\.svn|.+/Downloads|.+/Archive|.+/Checkout|.+/tmp"
XSFX=".+\.iso|.+\.tgz|.+\.tar\.gz|.+\.tar\.bz2|.+\.cpio|.+\.tmp|.+\.swp|.+~"
SIZE="+99M"
DATE=$(date --utc +"%Y%m%d-%H%M")
[ -d "$BUDIR" ] || mkdir -p "BUDIR"
umask 077
dpkg --get-selections \* > /var/lib/dpkg/dpkg-selections.list
debconf-get-selections > /var/cache/debconf/debconf-selections
{
find /etc /usr/local /opt /var/lib/dpkg/dpkg-selections.list \
/var/cache/debconf/debconf-selections -xdev -print0
find /home/$USER /root -xdev -regextype posix-extended \
-type d -regex "$XDIR0|$XDIR1" -prune -o -type f -regex "$XSFX" -prune -o \
-type f -size "$SIZE" -prune -o -print0
find /home/$USER/Mail/Inbox /home/$USER/Mail/Outbox -print0
find /home/$USER/Desktop -xdev -regextype posix-extended \
-type d -regex "$XDIR2" -prune -o -type f -regex "$XSFX" -prune -o \
-type f -size "$SIZE" -prune -o -print0
} | cpio -ov --null -O $BUDIR/BU$DATE.cpio
chown $BUUID $BUDIR/BU$DATE.cpio
touch $BUDIR/backup.stamp
这是一个用 root 权限执行的脚本例子。
我建议你按照如下所示的去更改和执行这个脚本。
编辑这个脚本使其能够覆盖到你所有的重要数据(参见第 10.1.5 节 “查找文件的语法” 和 第 10.2 节 “备份和恢复”)。
用 “
find ...-newer $BUDIR/backup.stamp -print0
“ 替代 “find ...-print0
“ 来实现增量备份。为保险起见,使用 scp(1) 或 rsync(1) 命令来备份文件到远端 或者把它们烧写到 CD/DVD 里。(我使用 GNOME 桌面 GUI 来烧写 CD/DVD。参见 第 12.1.8 节 “zenity 的 shell 脚本案例” 来获得更多的信息。)
把事情简单化!
提示 | |
---|---|
你能够用 “ |