码迷,mamicode.com
首页 > 系统相关 > 详细

dd wipe 命令磁盘清空shell脚本,笔记本台机MAC通用

时间:2015-08-20 15:37:18      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:dd wipe 磁盘清空 安全 数据



教程目标:dd wipe 命令磁盘清空shell脚本,笔记本台机MAC通用


日    期:2015年08月20日

联系邮箱:linux_lcl@163.com

Q Q  群:1851 15701

51CTO博客首页:http://990487026.blog.51cto.com




生产需求:

公司人数达到一定数目,就会存在人员流动,然后附属的PC或者Server,MAC当然要彻底清空里面的数据,装好新的windows,linux,MAC系统库存起来,留给下一个准备入职的人员使用。

使用这个脚本能大大减少劳动力,离职的电脑拿过来,插入准备的U盘,只要有电脑常识的人,只需要输入yes 或者no,就可以完成电脑磁盘清空的任务,大大提高工作效率。


一,开始动手:

1,你需要一个8G的U盘

2,一张linux发行版的光盘,或者一个具备启动linux发行版的U盘,用来安装linux到上面的8G U盘



Ready!




二,找一个redhat,CentOS,Frdora的发行版,安装到U盘,在安装的时候请注意,一定要使用手动去分区,不要使用默认的磁盘卷分区。

1, /boot分区

2, /根分区

3,/home 分区

 指定这三个分区,足矣







三, 系统时建议把桌面也安装,安装完成后,修改inittab运行级别为3,默认不开桌面,想开就开。

 插入U盘,从U盘开机

vim /root/.bashrc

在最下面添加一行:bash disk.sh

保存退出!

vim /root/disk.sh


把下面的脚本内容复制进去,保存。

 

这样使用root开机就可已直接显示使用磁盘清空命令了。



注意:脚本运行的时候,会出现卡死的假象,其实并不是卡死,而是dd命名在执行的时候不输出任何信息,执行完毕之后,会显示用了多少时间,擦写的速度是多少。

磁盘灯会一直亮,直到清空完成



============脚本开始===============================

#!/bin/bash
clear
setterm -blank 0
date
echo ""
rm -rf diskready
rm -rf temp1
rm -rf disklist
touch diskready
touch disklist
fdisk -l &>> temp1
  for i in {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t,u,v,w,x,y,z}
   do
      # umount disk device 
      for j in {1..10}
      do         
         umount /dev/sd$i$j &>/dev/null
      done 
      # check once device
      mount |grep "^/dev/sd$i" &>/dev/null
       stat1=`echo $?`     
       #check this device exits
       grep "sd$i" temp1
       stat2=`echo $?`
      
        #stat1 localhost disk device
        if [ $stat1 -eq 0 ];then
           echo -e  "\033[40;33mskip localhost disk device sd$i\033[0m\n\n"
        else 
               #stat2 check this device physcis disk
           if [ $stat2 -eq 0 ];then
                echo -en "\033[47;30mAre You sure destory data for sd$i [y/n] ?\033[0m   "
                 read  key   
                 echo ""             
             case $key in
             y)
                 #add duty into lisst
             echo "sd$i" &>> diskready
                 cat temp1 | grep "Disk /dev/sd$i" &>> disklist
                ;;
             n)
             echo -e "\033[44;31mgive up destory data of sd$i \033[0m\n\n"
             ;;
             *)
             echo -e "\n\ninput error ,program exiting\n\n"
                 exit 99
                 ;;
             esac
           fi
        fi
done
   
  
      # operation disk 
      cat disklist | grep "s" &>/dev/null
      if [ $? -eq 0 ] ;then   
            echo -e "\033[47;31;7m========Make Sure Your Operate Disk List==========\033[0m"
            cat disklist
           echo -en "\nAre You Sure Destory This Disk data [y/n] ?   "
           read list
         
           case $list in
           y)
               for o in `cat diskready`
               do
               echo "Destorying data $o, Please wating........."
               dd bs=4096 if=/dev/zero of=/dev/$o
               # wipe -kq /dev/$o
               done
               ;;
           n)
           echo "Quiting "
           exit
           ;;
           *)
           echo "input error ,Quiting"
           ;;
           esac
      fi     
rm -rf diskready
rm -rf temp1
rm -rf disklist
echo ""
date
read -p "finished ,Do you want to reboot this Computer [y/n] ? " stat3
case $stat3 in
y)
echo "reboot your Computer ,please waiting ....."
reboot
;;
n)
echo "exit"
sleep 1
clear
exit
;;
*)
echo "input error ,quit"
sleep 1
clear
exit
;;
esac




============脚本结束===============================

脚本是我踏出学校大门,入职时写的,写的不是很好,但很实用。


细心的同学会发现,这个脚本不仅可以使用dd命令来清空磁盘,也可已使用wipe命令来清空磁盘,

wipe命令被我注释了,你想使用的话,你得手动安装一个wipe工具。


至于dd命令与wipe命令,在安全系数与清空速度上的对比,看你怎么妥协速度与安全了。


参考:使用脚本默认的dd 命令,160G 硬盘,每秒70M,

使用wipe命令,需要等待大约两天吧

dd命令相比wipe来说,算快多了。


至于速度上为什么会有这么大差别,大家自己去个google一下。



谢谢大家浏览,如对本文存在疑问,请至邮箱linux_lcl@163.com,开源社区,有你更精彩!











dd wipe 命令磁盘清空shell脚本,笔记本台机MAC通用

标签:dd wipe 磁盘清空 安全 数据

原文地址:http://990487026.blog.51cto.com/10133282/1686323

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!