O script abaixo, necessita do pacote zenity para ser executado (# apt-get install zenity), e trabalha de forma interativa, sendo assim, leia com atenção o que lhe é solicitado para que o mesmo funcione corretamente.
Código:
#!/bin/bash ## Paulo Neukamp ## Em 16 nov 2008 ## A função deste script é criar um arquivo de imagem da mídia ## Tela de Aviso zenity --info --title "Aviso de Cuidado" --text " Este é um script que pode danificar o sistema, portanto, tome muito cuidado com os parametros que serão informados nas próximas etapas" ## Mostrando os dispositivos conectados sudo fdisk -l | zenity --list --title "Lista de Dispositivos" --text "\n Tela de CheckList:\n Abaixo estão listados todos os Dispositivos atualmente conectados a este equipamento... \n Verifique com muito cuidado qual sera o Dispositivo que deseja zerar, pois voce deverá informá-lo na próxima janela\n" --column "Dispositivos" --width=700 --height=400 ## Tela solicitando qual o disco (device) ou partição que será copiado (origem) origem=`zenity --entry --title "ORIGEM DOS DADOS" --text " Informe qual será a origem dos dados. Ex.:hda, sdb1...." --entry-text "sda" --width=200 --height=100` ## Tela solicitando qual em qual pasta a imagem .dd deve ser salva destino=`zenity --entry --title "DESTINO DOS DADOS" --text " Informe a pasta na qual a imagem deve ser salva" --entry-text "/home/fdtk/caso1" --width=200 --height=100` arq=`zenity --entry --title "NOME DO ARQUIVO" --text " Informe o nome a ser dado ao arquivo da imagem dos dados" --entry-text "img-caso1-hd1.dd" --width=200 --height=100` ## Escolha qual hash utilizar ( 256-bits ou 512-bits) hashopt=`zenity --list --radiolist --column="Opção" --column "Tipos de hash" TRUE 256-bits FALSE 512-bits ` if [ $hashopt != 512-bits ];then sudo date >> $destino/hash-origem.txt; sudo sha256sum -b /dev/$origem >> $destino/hash-origem.txt | zenity --progress --title "HASH" --text="Gerando hash..." --pulsate --auto-close else sudo date >> $destino/hash-origem.txt; sudo sha512sum -b /dev/$origem >> $destino/hash-origem.txt | zenity --progress --title "HASH" --text="Gerando hash..." --pulsate --auto-close fi ## CÓPIA DOS DADOS ## Tela de Status do processo da copia sudo dcfldd if=/dev/$origem of=$destino/$arq | zenity --progress --title "Copiando..." --text="Copiando dados..." --pulsate --auto-close ## Gerando hash da cópia if [ $hashopt != 512-bits ];then sudo date >> $destino/hash-copia.txt; sudo sha256sum -b $destino/$arq >> $destino/hash-copia.txt | zenity --progress --title "HASH" --text="Gerando hash..." --pulsate --auto-close else sudo date >> $destino/hash-copia.txt; sudo sha512sum -b $destino/$arq >> $destino/hash-copia.txt | zenity --progress --title "HASH" --text="Gerando hash..." --pulsate --auto-close fi ## Gera arquivo com dados dos discos sudo fdisk -l /dev/$origem > $destino/dados-discos.txt ## Confere Hashs cat $destino/hash-copia.txt >> $destino/2hashs.txt | cat $destino/hash-origem.txt >> $destino/2hashs.txt zenity --title="Analise dos Hash's gerados" --text-info --filename="$destino/2hashs.txt" --width=800 --height=200 # Tela de Aviso final zenity --info --title "Final de operação" --text " A copia e os hash's foram gerados, você já pode remover as mídias"