无忧启动论坛

标题: 发个自用的Slitaz备份脚本,简单易用,一句命令备份你的Slitaz。据说标题要长~~~~ [打印本页]

作者: 黑色→风格    时间: 2014-5-10 21:40
标题: 发个自用的Slitaz备份脚本,简单易用,一句命令备份你的Slitaz。据说标题要长~~~~
本帖最后由 黑色→风格 于 2014-5-12 14:27 编辑

该脚本优点就是操作简单,缺点就是备份体积大了点,还不可以在其它电脑正常运行。不过自己的系统嘛,在自己电脑用就好了。很多浏览器隐私数据神马的。
虽然神雕大侠的Slitaz有很好的制作脚本,但是需要在命令行运行,想要配置些软件就变得很麻烦。对于新手来说门槛也有点高。本人比较需要即用即备份的PE,速度飞起的内存系统不伤硬盘什么的最爽了。
后来不小心看到了mount -o bind这个命令才写了这个脚本,寥寥几句都发上来真是羞愧~~~
该脚本只是简单把你所使用的Slitaz整个系统目录备份到rootfs.gz。可能是没有排除什么关键目录,所以备份后的系统只适合本机使用。在其它计算机启动不能进入桌面。如果有人知道原因请告诉我一下。




下面是脚本内容,可以自己新建个脚本文件,嫌麻烦的也可以下载附件,把附件解压到根目录,然后   #chmod 755 /usr/bin/myrootfs。
脚本需要root运行,可以  #su  切换到root用户然后执行  #myrootfs,也可以  #sudo myrootfs  运行。



————————————————————————————————————————————————————————————————————
#!/bin/sh

echo "仅适合在 SliTaz系统下面操作."
echo "脚本需要在root权限下运行,请使用su命令切换到root用户"
echo "新建/tmp/root文件夹"
mkdir /tmp/root
echo "同步目录到/tmp/root"
mount -o bind / /tmp/root
cd /tmp/root
echo "正在压缩rootfs.gz文件,请耐心等待几分钟..."
find . -print | cpio -o -H newc | lzma e -si -so > ../rootfs.gz
echo "成功完成定制。请把/tmp/rootfs.gz放进Slitaz.iso镜像的boot目录进行替换"
umount /tmp/root
rmdir /tmp/root

echo "谢谢使用"

echo "脚本作者:黑色→风格@无忧启动论坛"

exit
————————————————————————————————————————————————————————————————————


现在没啥时间研究要排除什么目录才可以在其它电脑正常运行,有兴趣的大婶可以优化下,然后给大家分享。



脚本已更新,请移步:http://bbs.wuyou.net/forum.php?m ... d=334393&page=1

myrootfs.zip

887 Bytes, 下载次数: 13, 下载积分: 无忧币 -2

解压到/usr/bin目录,并且chmod 755改可执行权限


作者: 2012jierong312    时间: 2014-5-11 01:08
支持一下,能在本机使用也是不错的。
作者: 2010tljabc    时间: 2015-6-26 19:52
#!/bin/sh
#保存位置/usr/bin/myrootfs
TOP_DIR=`pwd`
#检查用户的权限是否为root权限
check_root(){
if test $(id -u) != 0 ; then
  echo -e "\n此脚本仅适合在SliTaz系统root权限下操作."
  echo -e "\n脚本需要root权限运行 `basename $0`."
  echo -e "请使用su命令(密码:root)切换到root用户.\n"
  exit 0
fi
}
write_rootfs(){
  cd /tmp/root
  echo -e "\n正在用lzma格式压缩生成 rootfs.gz文件,请耐心等待几分钟......"
  find . -print | cpio -o -H newc | lzma e -si -so > ../rootfs.gz
  echo 1 > /tmp/rootfs
}


check_root
echo -e "\n\033[1mWrite filesystem to rootfs.gz\033[0m"
echo -e "=================================================================="
echo -e "命令rootfs将会把当前文件系统写入到相应cpio格式文件中(rootfs.gz)。"
echo -e "\e[40;31;1m注意:\033[0m \033[1;33m执行此命令时不要进行其他操作,否则rootfs.gz启动会失败!!\\033[0;39m"
echo -e "\nArchive compression: lzma"
echo -e "\n删除缓存..."
rm /home/tux/.cache -r -f
rm /var/cache/tazpkg/* -r -f
rm -f /etc/blkid.tab
rm -f /etc/udev/rules.d/70-persistent-net.rules
#  display harddisk
rm /var/run/dbus/* -r -f

echo -e "\n想要清除声卡和屏幕设置选项吗 ? "
echo -e "按 ENTER保持当前设置,或回答 (No|Yes|Exit): "
read anser
case $anser in
  e|E|"exit"|Exit)
    exit 0 ;;
  y|Y|yes|Yes)
    echo -e "\n删除当前声卡和屏幕设置..."
    rm -f /var/lib/sound-card-driver
    rm -f /etc/asound.state
    rm -f /etc/X11/screen.conf
    rm -f /etc/X11/xorg.conf ;;
  *)
    echo -e "\n保持当前声卡和屏幕设置..." ;;
esac

echo -e  "\n新建/tmp/root文件夹"
mkdir /tmp/root
echo -e "同步目录到/tmp/root........."
mount -o bind / /tmp/root

rm -f /tmp/rootfs
write_rootfs &
sleep 2
cd - > /dev/null
echo -e "\n文件系统大小:"
while [ ! -f /tmp/rootfs ]
  do
    sleep 1
    echo -en "\\033[18G`du -sh /tmp/rootfs.gz | awk '{print $1}'`    "
  done
mv -f /tmp/rootfs.gz $TOP_DIR
echo -e "\n[\\033[1;33mrootfs.gz\\033[0;39m]保存在 $TOP_DIR文件夹中\n\n"
sakura -e "sudo umount -f /tmp/root"
sakura -e "sudo rmdir /tmp/root"
exit





欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3