Como copiar muitos CDs e DVDs para um HD de forma automática?

13. Re: Como copiar muitos CDs e DVDs para um HD de forma automática?

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 03/05/2019 - 23:51h


Flosi escreveu:

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?

Boa noite Flosi.
O comando:
V1=$(grep /dev/sr0 <<< $(blkid) | awk -F"=" '{print $3}' | awk -F" " '{print $1,$2}' | sed -e 's/\"//g' | sed -e 's/\ //g')
Me chamou a atenção.....
Acredito que é possível simplificar
poste a saída de
blkid dev "/dev/sr0" 

Negrite os dados que deseja.
Qto a a ultima duvida,
Difícil responder, nunca usei o RSYNC....
Uma alternativa seria testar a integridade do disco .... Antes do RSYNC iniciar....
Att.: Marcelo Oliver


  


14. Re: Como copiar muitos CDs e DVDs para um HD de forma automática?

Marcio Flosi Malgueiro
Flosi

(usa Debian)

Enviado em 06/05/2019 - 08:20h

Bom dia,

Marcelo também imagino que seja possível simplificar mas como eu disse os meus conhecimentos são bem limitados.
O comando:
blkid dev "/dev/sr0"  

retorna:
/dev/sr0: UUID="2008-02-21-15-53-50-00" LABEL="DVD 67" TYPE="iso9660" PTTYPE="mac" 


Sendo que preciso só do DVD67 sem o espaço.

Quanto a testar a integridade do disco, não sei se é a melhor solução uma vez que eu preciso tentar resgatar o maior numero de arquivos possíveis mesmo de um disco ruim.


15. Re: Como copiar muitos CDs e DVDs para um HD de forma automática?

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 06/05/2019 - 15:52h


Flosi escreveu:

Bom dia,

Marcelo também imagino que seja possível simplificar mas como eu disse os meus conhecimentos são bem limitados.
O comando:
blkid dev "/dev/sr0"  

retorna:
/dev/sr0: UUID="2008-02-21-15-53-50-00" LABEL="DVD 67" TYPE="iso9660" PTTYPE="mac" 


Sendo que preciso só do DVD67 sem o espaço.

Boa tarde Flosi.
O comando:
blkid dev /dev/sr0 -s "LABEL"|awk -F"=" '{print $2}'
"DVD 67"
Retorna somente o conteúdo do campo "LABEL",
Se for necessário tirar os espaços....
Opção mais simples:
blkid dev /dev/sr0 -s "LABEL"|awk -F"=" '{print $2}'|sed 's| ||g' 

Outra opção:
Requer gawk, elimina um PIPE, tornando a resposta alguns milissegundos mais rápida
sudo blkid dev /dev/sr0 -s "LABEL"|awk -F"=" '{gsub(/[ ]/, ""g, $2)} {print $2}' 


Importante => echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts