10.2.2. 一个系统备份的脚本例子

对于运行 unstable 套件的个人 Debian 桌面系统来说,只需要保护个人数据和关键数据。我不管怎样每年都会重新安装一次系统。因此没理由去备份整个系统或者安装全功能的备份实用程序。

我使用简单的脚本来制作用于备份的压缩文件并用 GUI 界面把它烧写到 CD/DVD 里。以下是关于这个的脚本例子。

  1. #!/bin/sh -e
  2. # Copyright (C) 2007-2008 Osamu Aoki <osamu@debian.org>, Public Domain
  3. BUUID=1000; USER=osamu # UID and name of a user who accesses backup files
  4. BUDIR="/var/backups"
  5. XDIR0=".+/Mail|.+/Desktop"
  6. XDIR1=".+/\.thumbnails|.+/\.?Trash|.+/\.?[cC]ache|.+/\.gvfs|.+/sessions"
  7. XDIR2=".+/CVS|.+/\.git|.+/\.svn|.+/Downloads|.+/Archive|.+/Checkout|.+/tmp"
  8. XSFX=".+\.iso|.+\.tgz|.+\.tar\.gz|.+\.tar\.bz2|.+\.cpio|.+\.tmp|.+\.swp|.+~"
  9. SIZE="+99M"
  10. DATE=$(date --utc +"%Y%m%d-%H%M")
  11. [ -d "$BUDIR" ] || mkdir -p "BUDIR"
  12. umask 077
  13. dpkg --get-selections \* > /var/lib/dpkg/dpkg-selections.list
  14. debconf-get-selections > /var/cache/debconf/debconf-selections
  15. {
  16. find /etc /usr/local /opt /var/lib/dpkg/dpkg-selections.list \
  17. /var/cache/debconf/debconf-selections -xdev -print0
  18. find /home/$USER /root -xdev -regextype posix-extended \
  19. -type d -regex "$XDIR0|$XDIR1" -prune -o -type f -regex "$XSFX" -prune -o \
  20. -type f -size "$SIZE" -prune -o -print0
  21. find /home/$USER/Mail/Inbox /home/$USER/Mail/Outbox -print0
  22. find /home/$USER/Desktop -xdev -regextype posix-extended \
  23. -type d -regex "$XDIR2" -prune -o -type f -regex "$XSFX" -prune -o \
  24. -type f -size "$SIZE" -prune -o -print0
  25. } | cpio -ov --null -O $BUDIR/BU$DATE.cpio
  26. chown $BUUID $BUDIR/BU$DATE.cpio
  27. touch $BUDIR/backup.stamp

这是一个用 root 权限执行的脚本例子。

我建议你按照如下所示的去更改和执行这个脚本。

把事情简单化!

[提示]提示

你能够用 “debconf-set-selections debconf-selections“ 命令恢复 debconf 配置数据,可以用 “dpkg —set-selection <dpkg-selections.list“ 命令恢复 dpkg 筛选数据。