apostila - curso shell script

Upload: gigateo

Post on 06-Jul-2015

399 views

Category:

Documents


0 download

TRANSCRIPT

CursodeShellScriptInstrutor:TefiloEmlioSoeirodosSantos Macap 2009

Sumrio 1 Fundamentos 1.1 Introduo 1.2 Conceito 1.3 OqueissopodeFazerpormim? 1.4 EstruturabsicadeumShellscript 1.5 Requisitosparaexecuodeumscript 1.6 Comandosteis 2 Variveis 2.1 Definindoeexibindovariveis 2.2 Arrays 2.3 VariveisdeAmbiente 2.4 Argumentos 3 Condicionais 3.1 If 3.2 Case 4 Estruturaderepetio 4.1 for 4.2 while 4.3 until 5 Operaesmatemticas 5.1 Comnmerosinteiros 5.2 Compontosflutuantes 6 Redirecionadoresesadasespeciais ,|,1,2 7 Expressesregulares 7.1 Ocircunflexo^ 7.2 OCifro$ 7.3 Alista[] 7.4 Oponto. 7.5 Aschaves{} 7.6 Ocuringa.*(AND) 7.7 Abarravertical|(OR) 7.8 Alistanegada[^] 7.9 Ointervaloentrelistas[] 7.10Osrepetidores?*+ 8 Funes 9 ProjetoedesenvolvimentodeShellscriptsparaautomatizaodetarefasgerais

10 Agendamentoetestesdosscriptsdesenvolvidos 10.1 Cron 10.2 At 11 Bibliografia

1 Fundamentos 1.1 Introduo O presente curso ser baseado na utilizao do BASH abreviao dada a BourneAgainSHell(emhomenagemaocriadordoshoriginal,StevenBourne),devido suagrandeaceitao,difusonomeiodacomunidade*NIXecompatibilidadecomo shoriginal,aKornShell(ksh)eaZShell(zsh). AfunodoShellfornecerparaousurioumainterfacedeacessoaokernel, ou seja, o Shell quem interpreta os comandos digitados, realiza as chamadas de sistemaparaquedeterminadoeventoocorranosistemaoperacional.Normalmenteo promptparaumusuriocomumsimbolizadopor$(cifro)e#(sharp)paraosuper usurio. [teo@ldapserver~]$ [root@ldapserver~]# Inseridonesteescopo,shellscriptpodeservistocomoumatimalinguagem,j que une o bash aos utilitrios do sistema operacional e sua sintaxe relativamente simples. 1.2 Conceito Shell script um recurso disponibilizado pelos sistemas *nix, utilizado para execuo de tarefas gerais do sistema, sejam elas locais ou remotas. capaz de manipular comandos e variveis do sistema; criar, incrementar ou excluir arquivos; invocaroutrosShellscripts,etc. 1.3 Oqueissopodefazerpormim? Qualquer seqncia de instrues que seriam executadas normalmente via linha de comando. Ex: atualizao de data/hora do sistema por um NTP Server; execuo de backups diversos; montagem de diretrios remotos dentro sistema; inserodedadosemumapginahospedadaemumservidorWEB;etc. 1.4 EstruturabsicadeumShellscript#!/bin/bash ## Este Shell Script ir efetuar o backup dos emails de todos os usurios que tenham nomes entre A-I. ## Variavel responsvel por verificar os usurios de A-I e organiz-los em ordem alfabtica. USERS_SYS=$(egrep ^[a-iA-I] /etc/passwd | cut d: -f1 | sort) ## Variavel responsvel pelo caminho onde o backup local ser armazenado LOCAL_ARQUIVOS=/home/backup/emails ## Varivel responsvel por guardar a data do dia anterior no formato numeral YESTERDAY=$(date d 1 day ago +%d-%m-%Y) ## Inicio das tarefas do script

## Limpando a tela e exibindo uma mensagem clear echo e Backup dos emails de A I\n\n ##Deixa apenas com a mensagem abaixo o arquivo que vai conter os erros do comando copy echo e ### Lista dos Emails Copiados ###\n > ${LOCAL_ARQUIVOS}/copy_errors ## Verificando cada linha do resultado do comando mantido na varivel USERS_SYS for USUARIO in $USERS_SYS do cp Rf /var/spool/mail/${USUARIO} $LOCAL_ARQUIVOS 2>> ${LOCAL_ARQUIVOS}/copy_errors echo e Realizando Backup dos emails do usurio: \t$USUARIO done ## Compactar os arquivos copiados tar cjvf /home/backup/semanal/bkp-emails-${YESTERDAY}.tar.bz2 $LOCAL_ARQUIVOS 2> /dev/null

1.5 Requisitosparaaexecuodeumscript Antes de executar um script, devese adicionar a permisso de execuo ao arquivo.Ex: chmod +x meu-script.sh Depois de alterada a permisso do arquivo, um script pode ser executado de duasformas: a) Caminho absoluto: o usurio fornece o caminho hierrquico at o script desejado. Ex: supondose que o script meu-script.sh est localizado no diretrio /home/backup/scripts/, para executlo atravs do caminho absoluto,devesedigitarnoprompt: [root@ldapserver~]#/home/backup/scripts/meu-script.sh b) CaminhoRelativo:quandoousurioestnodiretrioquecontmoscript desejado,bastautilizaroindicadordediretrioatual./.Ex: [root@ldapserver~]#./meu-script.sh 1.6 Comandosteis Algunscomandosteisquepoderoserutilizadonestecurso: Comando cat cut date diff Descrio Exibeocontedodearquivo Extraicampo Exibeadata Comparaarquivos Opescomuns ns dfc d+ i,Nr,u,w

dmesg echo find finger grep head logname mount ping printf rev sort tail tar tr uniq useradd userdel wc

en name,type,atime, Localizaarquivos exec Mostrainformaesdeusurios Filtratextos E,i,v Exibeinciodeumtexto c,n Exibeologindousurioatual Montasistemadearquivos t,o,p EnviaICMPecho_requestpara c hosts Exibetexto Invertetexto Organizatexto f,n,r Exibeofinaldeumtexto c,n Arquivadocumentos c,j,f,v,x,z Modificatexto d,AZaz Removelinhasduplicadas i,d,u Adicionausurios c,g,s Removeusurios r Contapalavras c,l,L,m

Exibemensagensdokernel Exibetexto

2 Variveis Diferentedeoutraslinguagensdeprogramao,asvariveisnopossuemum tipo especfico de dados. Elas podem conter: comandos, operaes aritmticas ou lgicas, strings, nmeros inteiros ou reais, valores de sada de comandos, acumular valores,etc. 2.1 Definindoeexibindovariveis Para nomear uma varivel, no se pode iniciar o nome com nmeros, usar espaoouhfenentrepalavras.Ex: 18ANOS=Um bom whisky NOME-COMPOSTO=guarda-chuva COM ESPACO=esse nome de varivel possui um espao entre as palavras

dos Santos; DEPARTAMENTO=Departamento de Informtica e Telecomunicaes.

Porquestesdeboasprticasdeuso,asvariveisdevemserdeclaradascomo nomeemmaisculo,poisobashcasesensitive. Paraatribuirumvaloraumavarivel,usaseosinaldeigualdade=.Ex:PI=3.14; COR_SOL=Amarelo; IDADE=23. Se o valor da varivel for uma string que contenha espao, devese colocar a stringentreaspasduplasousimples.Ex:NOME_COMPLETO=Teofilo Emilio Soeiro

Paraexibirocontedodeumavarivel,bastausarocomandoechoseguidodo nome da varivel desejada, sendo que este nome deve ser precedido do smbolo $ (cifro).Ex:echo $NOME_COMPLETO; echo $PI. Caso haja necessidade de exibir uma mensagem para ilustrar o valor da varivel,usaseaspasduplas.Ex:echo A cor do Sol : $COR_SOL; echo Eu Trabalho no $DEPARTAMENTO do Tribunal de Justia do Estado do Amap Existeaindaapossibilidadedesedesejartratarasadadavarivel,adicionando valores a ela. Essa operao pode ser realizada com a utilizao de chaves {}. Ex: ImagineavarivelOBJETO=pente;paraimprimirapalavrapentear,bastadigitar: echo ${OBJETO}ar; para imprimir a palavra despenteado, basta digitar: echo des${OBJETO}ado. Acompanheabaixoalgumaspossibilidadesdeexibiodeumavariveleoseu resultado: # Valor inicial da varivel. myvar=abc echo Teste 1 echo $myvar echo ${myvar} echo {$myvar} echo Teste 2 echo myvar echo myvar echo $myvar echo \$myvar echo Teste 3 echo $myvardef echo ${myvar}def echo Teste 4 echo $myvar$myvar echo ${myvar}${myvar}

# abc # abc # {abc} # myvar # myvar # abc # $myvar # linha vazia, pois a varivel $myvardef no existe # abcdef # abcabc # abcabc

echo Teste 5 # Alterando o valor da varivel, com espaos myvar=a b c echo $myvar echo $myvar echo Teste 6 echo myvar echo $myvar echo ${myvar} echo \$myvar echo \${myvar} #a b c --> como apresentado na varivel # a b c --> utilizando apenas um espao entre os caracteres # myvar # $myvar # ${myvar} # \$myvar # \${myvar}

Ao utilizar o comando echo com a opoe, podese utilizar os caracteres especiaisdescritosnatabelaabaixo:Opo \n \t \caps o texto

Descrio Iniciaotextonumanovalinha Iniciaotextoapsumespao(TAB) Iniciaotextodaprximalinhaapartirdocaractere\c

echo e \n\nTexto pulando Linhas!\n

#

Salta duas linhas antes e uma

echo e \tTexto tabulado # Insere um TAB antes do texto echo e \nHoje : \c # Exibiria o segundo texto a partir no lugar do caractere \c echo Uma bela manh de domingo 2.2 Arrays Sovariveisquepodemarmazenarvriosvalores.Suadeclaraofeitacom ousodeparntesesapsosinaldeigualdadeeosvaloresdevemserseparadospor um espao em branco. Ex: SEMANA=(domingo segunda terca quarta quinta sexta sabado); MARCA=(suzuki honda dafra yamaha). Para exibir um dos valores do array, devese informar o valor do ndice que correspondeposiodovalordesejadodentrodoarray,lembrandoquetodoarray comea com o ndice 0 (zero). Ex: tomandose como base a varivel SEMANA, para mostrar o valor domingo, devese usar o valor de ndice zero dentro de colchetes, como segue: echo ${SEMANA[0]}; se desejar mostrar o valor quinta, use: echo ${SEMANA[4]}. SEMANA=(domingo segunda terca quarta quinta sexta sabado) 0 1 2 3 4 5 6

Valor do ndice para a varivel 2.3 VariveisdeAmbiente Sovariveisenxergadasdequalquerlugardosistemaepodemserutilizadas tantoporprogramas,quantoporscriptsoucomandosdiretosnoshell.Paracriaruma varivel de ambiente, utilize o comando export diretamente no shell, conforme exemploabaixo: export MINHA_VARIAVEL=Valor da varivel

Este comando criar a varivel de ambiente, porm se o computador for reiniciadoavarivelnoaparecermais.Sequiserqueavarivelsejapersistenteno sistema,adicioneocomandodecriaodavarivelnofimdoarquivo:/etc/profile. Para obter a lista completa de variveis de ambiente, digite o comando set diretamentenoShell.

2.4 Argumentos Os argumentos so informaes passadas para comandos e/ou scripts que visamcomplementarumaoperao. Existemduasformasessenciaisdepassarestesvaloresparaoscript: a) Comocomandoread:usaseocomandoreadseguidodonomedavarivel para aguardar que determinada informao seja inserida pelo usurio em determinadomomentodaexecuodoscript.Ex:readNOME_COMPLETO; readIDADE; b) Diretamente pelo Shell: no prompt do Shell, aps digitar o comando ou script que deseja executar, separe os argumentos com espaos. Ex: ./meu_script.shargumento1argumento2argumento3 Obashdispedasseguintesvariveisparaodevidotratamentodeargumentos passadosdiretamentepeloshell: Varivel $# $@ $? Funo Quantidadetotaldeargumentospassados Listacomosargumentospassados Valor de retorno do ltimo comando executado (0 se o comando foi realizado com sucesso ou maior igual a 1 se houvererro) ONmerodoProcessodoShellatual.ParaoShellscript,esta varivelindicaoPIDsoboqualeleestsendoexecutado Comandoexecutado Primeiroargumento,segundoargumento,...

$$ $0 $1,$2,...

Umexemploparaelucidaraaplicaodessasvariveisseria: #!/bin/bash echo Voce digitou $# argumentos para o script $0 echo O primeiro argumento digitado foi: $1 echo O segundo argumento digitado foi: $2 echo O terceiro argumento digitado foi: $3 echo A lista completa de argumentos : $@ echo O PID do Shell script : $$

Imagine que esse cdigo pertence ao script: meu_script.sh. Se o script for invadodessaforma:./meu_script.shargumento1TefiloSantos3qualquercoisa; teremosaseguintesada:

Voce digitou 5 argumentos para o script ./meu_script O primeiro argumento digitado foi: argumento1 O segundo argumento digitado foi: Tefilo Santos O terceiro argumento digitado foi: 3 A lista completa de argumentos : argumento1 Tefilo Santos 3 qualquer coisa O PID do Shell script : 3358

3 Condicionais 3.1 If Usadoemoperaesunriasebinrias.Suasintaxebsica: if [ CONDIO ] then Comando fi

Existe a possibilidade de aninhar condicionais com: if else if, onde o comandoelif(mostradoabaixo)podeserinterpretadocomo:elseif. if [ CONDIO_01 ] then Comando ... elif [ CONDIO_02 ] then Comando ... else Comando ... fi

#!/bin/bash

Acompanheumexemplodousodaestruturamostradaacima:

ANIMAL=Cachorro if [ $ANIMAL = Coelho ]; then echo O animal escolhido foi o Coelho elif [ $ANIMAL = Mula ]; then echo O animal escolhido foi a Mula else echo $ANIMAL - no coelho nem mula fi

Ocomando iftambmpossuirecursosespeciaispararealizaodetestescom arquivos,comparaesdestrings,operadoresnumricosebooleanosdisponibilizando recursosqueaumentamaprodutividadedoscript. Para realizar testes com arquivos, utilizase os operadores exibidos na tabela abaixo: Opo barquivo carquivo darquivo earquivo farquivo garquivo harquivo karquivo parquivo rarquivo sarquivo uarquivo warquivo xarquivo Oarquivo Descrio Verdadeirosearquivoexisteeforumarquivodeblocoespecial. Verdadeiro se arquivo existe e for um arquivo de caractere especial. Verdadeirosearquivoexisteeforumdiretrio. Verdadeirosearquivoexiste. Verdadeirosearquivoexisteeforumarquivoregular. VerdadeirosearquivoexisteetenhaoSGIDbitativado. Verdadeirosearquivoexisteeforumlinksimblico. Verdadeirosearquivoexisteetenhao"sticky"bitativado. Verdadeirosearquivoexisteeforumnamedpipe. Verdadeirosearquivoexisteepuderserlido. Verdadeiro se arquivo existe e tenha um tamanho maior que zero. VerdadeirosearquivoexisteetenhaoSUIDbitativado. Verdadeirosearquivoexisteepuderserescrito. Verdadeirosearquivoexisteeforexecutvel. VerdadeirosearquivoexisteeforprpriopeloefetivouserID.

Imagineoseguintecenrio:Verificarseodiretrio/home/backup/pgsqlexiste, ecasonoexista,omesmodeversercriado. if ! [ -d /home/backup/pgsql ]; then mkdir /home/backup/pgsql ; fi

Osinaldeexclamaoantesdacondioindicanegao. Ascomparaesdestringssuportadasestodescritasnatabelaabaixo:Opo zstring nstring string1=string2 string1!=string2 Descrio Verdadeirosestringtivercomprimentozero. Verdadeirosestringtivercomprimentodiferentedezero. Verdadeiroseasstringsforemiguais. Verdadeiroseasstringsnoforemiguais.

Umexemplodeusodaopozpodeservistadentrodoseguintecontexto:no teste de contedo de uma varivel, caso ela esteja nula (comprimento igual a zero), exibirumamensagemnotificando,seno,exibirseucontedo: if [ -z $CESTA_DE_FRUTAS ]; then echo A cesta de Frutas est vazia else echo Existem os seguintes itens na cesta: $CESTA_DE_FRUTAS ; fi

Osoperadoresnumricosexistentesestodescritosnatabelaabaixo: Operao int1eqint2 int1neint2 int1ltint2 int1leint2 int1gtint2 int1geint2 Descrio Verdadeiroseint1forigualaint2. Verdadeiroseint1noforigualaint2. Verdadeiroseint1formenorqueint2. Verdadeiroseint1formenorouigualaint2. Verdadeiroseint1formaiorqueint2. Verdadeiroseint1formaiorouigualaint2.

Para ilustrar o uso da operao ne, imagine o valor de retorno de um comandoqualquer,expressopelavarivel$?.Seovalorfordiferentedezero,significa que houve algum erro, caso contrrio, o comando foi realizado com sucesso como seguenoexemplo: if [ $? ne 0 ]; then echo Houve um erro else echo O comando foi realizado com sucesso! fi

Osoperadoresbooleanospodemserexpressadosdeduasformas: Operao [expr1]&&[expr2] [expr1]||[expr2] Descrio Verdadeiroseambosexpr1eexpr2foremverdadeiros. Verdadeiro se qualquer uma expr1 ou expr2 forem verdadeiros.

Operao !expr [expr1aexpr2] [expr1oexpr2] Descrio Verdadeiroseexprforfalsa(funcionacomonegao). Verdadeiroseambosexpr1eexpr2foremverdadeiros. Verdadeiro se qualquer uma expr1 ou expr2 forem verdadeiros.

if [ $COR_SOL = Amarelo ] && [ $COR_CEU = Azul ]; then echo O Cu azul e sol amarelo; fi if [ $COR_SOL = Amarelo -a $COR_CEU = Azul ]; then echo O Cu azul e sol amarelo; fi

Adiferenabsicaentreosdoismtodosestnasintaxedosmesmos:

Outradiferenaquevalesercitadaqueosoperadores&&e||soutilizados commuitafreqnciaquandoenvolvemcomandosdiretamentenoshell. Imagineaseguintesituao:aoenviardoisicmp_echo_request(ping)parauma mquina da rede e ela no responder, exibir uma mensagem notificando que a mquinaestforadoar,casocontrrioexibirumamensagemdesucesso.

[root@ldapserver ~]# ping c2 192.168.0.2 && echo Sucesso na comunicao!\ || echo A maquina est fora do ar!

3.2 Case A condicional case mais simples de implementar que o IF. Porm, seus recursossomaislimitados.Suaestruturabsica: case $VARIAVEL in Valor1) comandos ;; Valor2) comandos ;; esac

Para extrair o mximo do comando case, podese utilizar alguns recursos especiais,comosegueabaixo: *)indicaqualquervalorquepossaserassumidopelavarivel,incluindoovazio. Executaroscomandosqueoseguemsenenhumacondioanteriorforsatisfeita; *dim) indica qualquer valor para a varivel que termine com dim. Ex: se o valor da varivel for Aladim, os comandos referentes a esta condio sero executados; Valor1|Valor2|Valor3)executaroscomandosreferentesacondiosepelo menos um dos valores indicados forem idnticos ao contedo da varivel. Nesse contexto,abarravertical|atualcomooperadorlgicoOU; [az][09])executaroscomandosreferentesacondioseovalordavarivel for composto por dois caracteres, sendo o primeiro uma letra de A a Z (sem case sensitive)eosegundoumnmerode0a9.Ex:seacondiofor[ad]edo,ospossveis valoresdavariveisadmitidosseriam:aedo,bedo,cedo,dedo; Acompanheabaixoumexemplodeaplicaodocomandocase,ondeavarivel $1(primeiroargumento)servirdebaseparaascondies: case $1 in start) echo iniciando o script de backup dos servidores de banco de dados ;; stop) echo Parando o script de backup ;; restart) echo reiniciando o script de backup ;; *) echo Use o comando `basename $0` com uma das seguintes opes: start|stop|restart ;; esac

4 Estruturasderepetio 4.1 for O comando for utilizado normalmente para executar um nmero determinadodeinstrues.Podeserexpressodeduasformas: for ((VARIAVEL=valor_Inicial;VARIAVEL=1;I--)) do echo e \t $I done for I in 10 9 8 7 6 5 4 3 2 1 do echo $I done

seaseqnciaforcrescente,podeseutilizarocomandoseqparadeixarmais resumidaalinhadecomando: for I in `seq 1 100` # O comando SEQ apenas IMCREMENTA valores do echo $I done

Ocomandofortambmutilizadoparaexecutarinstruesbaseadasnasada deoutroscomandos. Imagine a seguinte tarefa: redefinir o proprietrio e grupo de 2.000 arquivos encontrados no diretrio /var/spool/mail/ baseado no nome dos usurios que esto cadastradosnosistema(/etc/passwd).for USUARIO in `cat /etc/passwd | cut d: -f1` # Comandos externos entre apstrofos do chown $USUARIO:$USUARIO /var/spool/mail/$USUARIO done

Nessa situao, o comando for vai armazenar na varivel USUARIO o valor correspondente a cada linha da sada do comando cat /etc/passwd | cut d: f1, executandoocomandodealteraodeproprietriodoarquivo,adotandocomobase queoarquivotemomesmonomequeestargravadonavarivelUSUARIO. OBS:ooperador$(comando)temamesmafunodosapstofros`comando`, onde tudo o que estiver dentro dos mesmos interpretado como comando e/ou aplicativo externo. Ex: para executar um comando qualquer, basta informar o seu nome,seoseucaminhoestivercontidoemalgumavariveldeambiente(ex:$PATH). Casocontrrio,deverserfornecidoocaminhoabsolutodoaplicativo: FIREWALL=$(iptables); FIREWALL=`iptables`; Ou BKP=$(/home/backup/scripts/emails.sh); BKP=`/home/backup/scripts/emails.sh`;

4.2 while Estrutura utilizada para repetir determinado bloco de instrues por uma quantidadeindefinidadevezes,devendosatisfazerseumacondioparaqueoloop encerre.Suaestruturabsica: while [ Condio ]; do Comandos ... done

Umaformadeempregarowhileserianaexibiodeummenuaousurio: while [ $OPCAO != 3 ]; do clear echo 1... Analisar LOGS do firewall echo 2... Gerar relatrios de acessos a internet echo 3... Sair do Script echo e \n\n Informe o nmero da opo desejada: read OPCAO done

4.3 until Deformaanlogaaowhile,ountilrealizaumdeterminadoblocodecomando atquesuacondiosejasatisfeita.Suaestruturabsica: until [ Condio ]; do Comandos ... done

Imaginequesedesejaqueousurioinformealetrasparasairdoprograma. Esseprocedimentopoderiaserrealizadocomaseguintelinhadecdigo: until [ $OPCAO = s ]; do echo Deseja sair do script? s/n:

read OPCAO done

5 Operaesmatemticas 5.1 Comnmerosinteiros Sero mostrados dois mecanismos de operao com nmeros inteiros, conformesegue: $(()):indicadoparaoperaesaritmticaselgicas: Operao SOMA=$((3+2)) Descrio Armazenaoresultadodaadionavarivel$SOMA. Armazena o resultado da subtrao na varivel SUBTRAC=$((51)) $SUBTRAC. Armazena o resultado da multiplicao na varivel MULTIP=$((3*4)) $MULTIP. DIVISAO=$((21/3)) Armazenaoresultadodadivisonavarivel$DIVISAO. Armazena o resultado da exponenciao na varivel EXPON=$((4^5)) $EXPON. MOD=$((7%3)) Armazenaorestodadivisonavarivel$MOD. Armazenaovalor1navarivel$RESULTseoresultadoda RESULT=$((8>8)) operaoMAIORforverdadeiro. Armazenaovalor1navarivel$RESULTseoresultadoda RESULT=$((8>=8)) operaoMAIORouIGUALforverdadeiro. Armazenaovalor1navarivel$RESULTseoresultadoda RESULT=$((8=,=8` RESULT=`expr8\=8.56745|bc)

RESULT=$(echo8.9> Osmbolo>redirecionaasadapadrodeumcomandooulistadecomandos (tudo o que exibido na tela) para um arquivo, criandoo se o mesmo no existir e sobrescrevendoseucontedoseomesmoexistir.Ex: ls l /var/lib > /root/conteudo-lib { ls l /var/lib/ ; echo configurao das interfaces de rede ; ifconfig -a ; } > /home/backup/scripts/MeuLog.txt

J o smbolo >>redireciona a sada padro de um comando ou lista de comandos(tudooqueexibidonatela)paraumarquivo,criandooseomesmono existireadicionandooresultadoaofimdoarquivoseomesmoexistir.Ex: ls l /var/log >> /root/conteudo-dir-logs { cat /etc/grub.conf ; echo configurao do firewall ; iptables -nL ; } >> /home/backup/scripts/MeuLog.txt

6.2 Redirecionadores /home/teo/bkp-especial.sh Ctrl+d Astarefasagendadasficamlocalizadasnodiretrio/var/spool/at/.Paralistar astarefasagendadas,usaseocomandoatqouat l.Ex: # at l 1 2008-09-30 19:45 a root 2 2008-10-01 07:15 a teo Sedesejarapagarumatarefaagendada,usecomandoatrmouatdseguido do nmero correspondente ao agendamento. Ex: para remover o primeiro agendamentodoexemploanterior,podeserealizar: # at d 1; Ou # atrm 1;

11 Bibliografia BURTCH,KenO.LinuxShellscriptingwithbash.Indiana.SamsPublishing,2004. COPPER,Mendel.AdvancedBashScriptingGuide:Anindepthexplorationof theartofShellscripting.Revision1.8,2003. JARGAS, Aurlio Marinho. Conhecendo as expresses Regulares. Disponvel: http://aurelio.net(capturadoem20deagostode2008). TAYLOR,Dave.WickedCoolShellscripts:101scriptsforLinux,MacOSX,and UnixSystems.SanFrancisco.NoStarchPress,2004. VEERARAGHAVAN, Sriranga. Sams Teach Yourself Shell Programming in 24 Hours.Indiana.SamsPublishing,1999. WELCH, John C.; ANDERSON, Micah; FOSTERJOHNSON, Eric. Beginning Shell script.Indiana.WileyPublishing,2005.