Flosi
(usa Debian)
Enviado em 03/05/2019 - 13:10h
Consegui filtrar o resultado do "blkid" com o seguinte comando:
grep /dev/sr0 <<< $(blkid) | awk -F"=" '{print $3}' | awk -F" " '{print $1,$2}' | sed -e 's/\"//g' | sed -e 's/\ //g'
Msoliver, não usei o seu script na integra pois não estava me entendendo com ele, muito avançado para mim mas muito obrigado, ajudou de mais =D
o Script final que eu estou usando ficou assim:
#! /bin/bash
echo "Vou te ajudar com a copia de multiplos CD/DVDs!"
sleep 1
echo "Aguardando o disco"
while :
do
TESTE=$(grep '/dev/sr0' <<< $(blkid))
if [ "$TESTE" == "" ]; then
echo -ne ". "
sleep 1
else
V1=$(grep /dev/sr0 <<< $(blkid) | awk -F"=" '{print $3}' | awk -F" " '{print $1,$2}' | sed -e 's/\"//g' | sed -e 's/\ //g')
sleep 1
DIR=/media/cdrom/$V1
[[ -d $DIR ]] || { echo "$DIR nao existe, sera criado.";mkdir ${DIR};}
echo "Montando disco $V1"
mount /dev/sr0 $DIR
echo "Iniciando copia"
beep -l 170 -f 2000
beep -l 130 -f 1000 -r 2 -d 130
rsync -vrt --progress $DIR /srv/dev-disk-by-label-RenovaBackup/
echo " Copia finalizada, o disco sera ejetado"
beep -l 400 -f 300
beep -l 200 -f 600 -r 2 -d 130
beep -l 200 -f 1200
eject /dev/sr0
echo "Troque o disco e tecle ENTER"
read -s -n 1 tecla
if [[ $tecla = "" ]]; then
echo "Aguarde"
eject -t
sleep 1
fi
fi
done
Eu estou copiando com RSYNC para caso alguém coloque o mesmo disco mais de uma vez ele não copie tudo de novo ou se tiver mais de um disco com o mesmo nome os arquivos não serão sobre-escritos.
Uma última dúvida, alguns disco estão com problemas de leitura, tem DVD aqui que foi gravado em 2006, e o RSYNC fica horas tentando ler alguns determinados arquivos antes de dar erro e pular para o próximo. Existem algum jeito de fazer o RSYNC pular o arquivo quando detecta o primeiro erro?