![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| 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 |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
||||
|
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 |
| Display Modes | Esta taxa Thread |
|
|