Gravação de DVD via shell

1. Gravação de DVD via shell

Tiago de Oliveira Sanches
tsanches

(usa Debian)

Enviado em 22/12/2009 - 17:18h

Pessoal, estou com um problema estranho. Tenho um script para fazer backup em DVD e preciso colocar ele para rodar em um determinado momento do dia, eis meu script:

#!/bin/bash
#Gravacao de DVD por Tiago Sanches
#Formatando o DVDRW
rm -rf /home/backup.tar.gz
rm -rf /home/backup2.tar.gz
rm -rf /home/backup3.tar.gz
dvd+rw-format -force /dev/dvdrw
echo "DVD Formatado"
#Mudando de diretorio
cd /home/
echo "Diretorio home/ acessado"
#Compactando os diretorios e arquivos
tar -czvf backup.tar.gz /home/diretoria/
tar -czvf backup2.tar.gz /home/administrativo/ /home/hercoles
tar -czvf backup3.tar.gz /home/manutencao/ /home/vendas /home/compras /home/almoxarifado
echo "Compactado os arquivos"
#Gerando o ISO
mkisofs -r -o backup.iso /home/backup.tar.gz /home/backup2.tar.gz /home/backup3.tar.gz
echo "Imagem Gerada"
#Gravando a Imagem Iso no DVD
growisofs -dvd-compat -speed=2 -Z /dev/cdrom=/home/backup.iso
echo "Imagem Gravada"
#Removendo os Backups
#rm -rf /home/backup.tar
#rm -rf /home/backup2.tar
rm -rf /home/backup.iso
echo "Gravacao Finalizada"
eject

Rodando ele na mão ou seja executando pelo terminal funciona perfeitamente, porém adicionando no crontab ele somente formata do DVD veja meu arquivo crontab:

more /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file.
# This file also has a username field, that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
17 * * * * root run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily
47 6 * * 7 root test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly
52 6 1 * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthlyr
10 13 * * * root sh /home/tecnologia/gravacao.sh 2>/tmp/gravacao.txt

Visualizando o arquivo de log ele da um erro estranho que não identifiquei na Internet:

insigne:~# more /tmp/gravacao.log
* BD/DVD±RW/-RAM format utility by <[email protected]>, version 7.0.
:-( mounted media doesn't appear to be DVD±RW, DVD-RAM or Blu-ray
tar: Removing leading `/' from member names
tar: Removing leading `/' from member names
tar: Removing leading `/' from member names
insigne:~#

Estou usando o Insigne Momentum 5.0, aguém pode me ajudar?

Grato,
TSANCHES


  


2. Uma Dica

Tiago de Oliveira Sanches
tsanches

(usa Debian)

Enviado em 31/12/2009 - 10:30h

Alguém tem alguma dica, até agora não encontrei a solução.
Grato,
TSANCHES


3. Re: Gravação de DVD via shell

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 01/01/2010 - 00:29h

growisofs -dvd-compat -speed=2 -Z /dev/cdrom=/home/backup.iso

Note que ao executar esse script no crontab do root, este irá operar diretamente no diretório home do root (/root). Então verifique se todos os caminhos realmente estão corretos.

-------
:-( mounted media doesn't appear to be DVD±RW, DVD-RAM or Blu-ray

Aqui ele está reclamando da mídia utilizada!


4. pensando nisso

Tiago de Oliveira Sanches
tsanches

(usa Debian)

Enviado em 02/01/2010 - 18:34h

Pensando nisso adicionei no script um item para mudar de diretório. pelo que entendi, executando o script como root através do contrab não ocorre essa mudança de diretório. Se for isso então ele não inicia a gravação pois o diretorio /root tem apenas um espaço de 5 gb e esta com 60% da capacidade usada. Deverei executar o script com outro usuário dando ele previlégio de usuário root?

Obrigado pela resposta, aguardo suas idéias
Valeu
TSANCHES


5. growisofs e cron

André Gustavo Neves Lopes
andrelopes.mrx

(usa FreeBSD)

Enviado em 02/01/2010 - 19:08h

Boa noite Amigão,

Esse problema, infelizmente, já é bem conhecido, utilizar scripts que se utilizam do growisofs no cron, geralmente da dor de cabeça, e independe do S.O inclusive, já vi esse mesmo problema acontecendo em Freebsd e Linux.

na man page, você encontra o seguinte:

If the media already carries isofs and growisofs is invoked with -Z option non-interactively, e.g. through cron, it shall fail with "FATAL: /dev/dvd already carries isofs!" Note that only ISO9660 is recognized, you can perfectly zap e.g. an UDF filesystem on-interactively.

então, se você usar o -Z, em modo não interativo vai dar erro.

tente isso, provavelmente vai funcionar:

growisofs -M /dev/cdrom -use-the-force-luke=force -quiet -udf -r -J arquivo.iso

ps: o argumento -use-the-force-luke, você provavelmente não vai encontrar nas manpages e já foi alvo de muitas discussões acaloradas em muitos fórums. É um parâmetro não documentado (talvez hoje em dia até já esteja incluso na documentação, mas na época que eu tive que pesquisar para solucionar o mesmo problema, não era).

Espero ter ajudado.

Abraço!

André Gustavo
blog: http://blog.mrx.com.br
gtalk: [email protected]


6. Boa André

Tiago de Oliveira Sanches
tsanches

(usa Debian)

Enviado em 02/01/2010 - 20:55h

Boa Amigão,

Vou seguir sua recomendação, assim que concluir posto o resultado.
Obrigado pelas dicas.
Feliz 2010!!!
Valeu ;-)
TSANCHES






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts