Nome de variaveis dentro de comandos com ' ...' [RESOLVIDO]

1. Nome de variaveis dentro de comandos com ' ...' [RESOLVIDO]

Alessandro
jacomini

(usa Debian)

Enviado em 16/09/2010 - 17:33h

To com um probleminha....
Estou fazendo um script de backup, que gera um arquivo de log, ai pensei em colocar a data de inicio no começo do log e do fim no final do arquivo.
Não sei se a menira mais correta é esta, mas foi a unica que pensei.
Eu crio o arquivo de log antecipadamente, e adiciono a data na primeira linha, e depois o tar preenche o arquivo, e no final coloco o horario de termino novamente, o problema é que não estou conseguindo fazer via script o sed adicionar a data no arquivo gerado. Me ajudem ai...Valeu!

ORIGEM="bkp"
DESTINO="/dev/st0"
NOME_LOG=`date +%a_%d-%m-%y_%H:%M`.log

# Cria arquivo de log com a data do inicio do backup.
touch ${NOME_LOG}
sed -i '1i ${NOME_LOG}' ${NOME_LOG}
# Compactação dos diretórios de origem direto na unidade DAT, ao término
# ejetando a fita.
tar -cvf ${DESTINO} -T ${ORIGEM} >> ${NOME_LOG} && mt -f ${DESTINO} offline






  


2. MELHOR RESPOSTA

Marcos Paulo Ferreira
Daemonio

(usa Slackware)

Enviado em 17/09/2010 - 01:15h

Se você cria o arquivo com o touch antes do sed, então nem do touch e nem sed você vai precisar. Um simples,

$ echo "$NOME_LOG" > "$NOME_LOG"

cria o arquivo de log já com o contéudo.

OBS: Em seu script você usou aspas simples na linha do sed, desse jeito o shell não troca o nome da variável pelo seu conteúdo. O certo seria usar "" e não ''. E... o comando 1i do sed irá acrescentar o nome do log antes da primeira linha do arquivo. Como o arquivo está vazio, a primeira linha nem mesmo existe, então esse comando não funcionará.

t+





Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts