The UNIX and Linux Forums  


Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
enquanto no interior, enquanto loop loop panknil Programação Shell Script e 0 01-07-2008 12:49
Para loop xramm HP-UX 3 10-10-2007 03:20
Embora Loop hemangjani Programação Shell Script e 2 11-02-2006 11:01
de loop munnabhai1 Programação Shell Script e 3 04-06-2006 03:30
como obter a função semelhante no ciclo while ou para loop trynew Programação Shell Script e 3 06-17-2002 12:09

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 03-17-2008
rsullivan rsullivan is offline
Usuário
  
 

Join Date: Mar 2008
Posts: 1
sh loop Precisa de ajuda

Oi,

Tenho o seguinte script que faz uma cópia de segurança através de um CPIO NFS montar. O problema é que eu só parecem estar recebendo raiz. Não tenho certeza do que estou fazendo errado aqui, mas ele não está funcionando. A seguir está todo o script. I've destacadas as áreas onde eu acho que tenho um problema ou, pelo menos, são relevantes, penso eu.

#! / bin / sh
#
# Definir configuração variáveis
#
NFSMOUNT \u003d '/ mnt /nfs'
BACKUP_LOG \u003d '/ usr / local / backup_logs'
EXCLUDE_FS \u003d '/ mnt /nfs'
HARDWARE_LOG \u003d '/ var / adm / messages "

exportação NFSMOUNT BACKUP_LOG EXCLUDE_FS HARDWARE_LOG

# Get data no formato DDMMAA
Dma \u003d `date +% m% d% y`

if [! -d $ (BACKUP_LOG)-o! -w $ (BACKUP_LOG)]; depois
echo "$ (BACKUP_LOG) não existe ou não é gravável"
saída 1
fi

echo "# # # Backup começando em` data `"
# LOG_START é o número de linhas em nosso hardware log
# Quando a cópia de segurança começou. Não estamos preocupados com nada
# Que ocorreu até agora.
LOG_START \u003d `wc-l <$ (HARDWARE_LOG)`
# Strip líder e os espaços

LOG_START \u003d `expr $ (LOG_START)`

BackupType \u003d "CPIO"

# Obter lista de sistemas de arquivos UNIX para fazer o backup
MOUNTEDSYSTEMS \u003d `df-F UFS | cut-d ''-f1 | sort`

# Retire sistemas de arquivos excluídos da lista
FS para um total de R $ MOUNTEDSYSTEMS
fazer
case "$ (EXCLUDE_FS)" em
# Se a sua exclusão não fazer nada
* "$ (FS) "*);;
# Adicionar entrada para a lista
*) Case "$ (arquivo)" em
# Lista está vazia por isso esta é a primeira entrada
'') Filesystems \u003d "$ (FS)";
# Lista contém as entradas de forma acrescentam à lista
*) Filesystems \u003d "$ (arquivo) $ (FS)";
esac;
esac
feito

cd /
if [ "$ BackupType" \u003d "despejo"], então
# Backup usando dump
para o FS em $ (arquivos)
fazer
echo "Dumping $ (FS) $ (NFSMOUNT)" | \
tee-a $ (BACKUP_LOG) / bu.ufsdump. $) (dma
/ usr / sbin / ufsdump 0fu $ (NFSMOUNT) $ (FS) 2> & 1 | \
# Estamos apenas preocupados com as últimas duas linhas de saída
# para determinar se este foi um sucesso despejo
tee-a $ (BACKUP_LOG) / bu.ufsdump. $ (dma) | tail -3

# Count despejo de sistema de arquivos
FS_COUNT \u003d `expr $ (FS_COUNT) + 1`
feito
diferente

# Backup usando CPIO
para o FS em $ (arquivos)
fazer
echo "Gravando CPIO arquivo de $ (FS) para $ (NFSMOUNT)" | \
tee-a $ (BACKUP_LOG) / bu.cpio. $) (dma. err \
>> $ (BACKUP_LOG) / bu.cpio. $ (Dma)

# A saída de encontrar será sempre em relação à raiz
encontrar. $ (FS)-print-xdev | \

# Use sed para mudar. "/" de volta para "/" não será tão Solaris CPIO casca
sed -e 's / ^ \. \ / $ / \ / /' | \
CPIO-oc-O $ (NFSMOUNT) / `hostname`. dma $ () \
2>> $ (BACKUP_LOG) / bu.cpio. Dma $ (). Err \
1>> $ (BACKUP_LOG) / bu.cpio. $ (Dma)

# Count CPIO arquivo de sistema de arquivos
FS_COUNT \u003d `expr $ (FS_COUNT) + 1`
feito

cat $ (BACKUP_LOG) / bu.cpio. dma $ (). err
fi

# Exibir arquivos informações de que era apenas o backup
echo "# # # Atualmente montados os sistemas de arquivo:"
df-k $ (arquivos)
echo "###"

LOG_END \u003d `wc-l <$ (HARDWARE_LOG)`
# Tira liderança e os espaços
LOG_END \u003d `expr $ (LOG_END)`
if [ "$ (LOG_BEGIN)"-ne "$ (LOG_END)"]; então
# Relatório erros no log durante o backup
# Grep adicionar mais linhas para remover as mensagens que aparecem no seu normal
# Sistema de exploração madeireira script
echo "# # # Sistema de logs gerados durante o backup:"
cat $ (HARDWARE_LOG) | \
sed -e "1, $ (d) LOG_START" | \
grep-v "liga de" | \
grep v "a partir de conexão recusada" | \
nawk '(print substr ($ 0,1,78)); \
comprimento> 78 (print "" substr ($ 0,79)) '

echo "###"
fi
# Remover antigos arquivos log
if [ "$ (BackupType)" \u003d "CPIO"] e, depois,
cd $ (BACKUP_LOG)
encontrar. -mtime 14-Seguiu-exec rm () \;
ls-lt $ (BACKUP_LOG) / *
echo
fi

echo "Backup terminados em" `date`
 

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 05:56.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0