Archive for the 'comandos' Category

Published by carla on 08 Sep 2008

Alguns comandos - Veritas Volume Manager

Segue uma lista com alguns comandos do Veritas Volume Manager, úteis no dia a dia de administração de sistemas com Veritas.

  • Localização (PATH) dos comandos Veritas:

/etc/vx/bin

  • Reconfigurar o Veritas:

# vxdctl enable

  • Listar discos, volumes e status:

# vxdisk list
DEVICE       TYPE      DISK         GROUP        STATUS
EMC1_0       sliced    disk01  diskgroup    online
EMC1_1       sliced    disk02  diskgroup    online
c1t0d0s2     sliced    rootdisk     rootdg       online
c1t1d0s2     sliced    rootmirror   rootdg       online
c1t2d0s2     sliced    -            -            online
c1t3d0s2     sliced    -            -            online

  • Criar um novo volume:

Ex: Criando um volume de 10 GB:

Se não especificar o diskgroup, por default, o volume será criado no rootdg

# vxassist make [volume name] 10240m

Especificando o diskgroup:

# vxassist -g [diskgroup] make [volume name] 10240m

  • Listar informações detalhadas de um volume group:

# vxprint -g [diskgroup] -ht

  • Criar filesystem no Solaris, caso não use o Veritas filesystem:

# newfs /dev/vx/rdsk/[diskgroup]/[volume name]

  • Renomear um volume:

# vxedit -g [diskgroup] rename [old name] [new name]

  • Remover um volume:

# vxassist -g [diskgroup] remove volume [volume name]

  • Aumentar um filesystem (vxfs ou ufs)

Ex: Aumentando em 1 GB

# df -k /filesystem
Filesystem                         Kbytes        used    avail capacity  Mounted on
/dev/vx/dsk/[diskgroup name]/[volume name]    10321884   10166012 52654   100%    /filesystem

# /etc/vx/bin/vxresize -F [filesystem type] -g [disk group] [volume name] +1g

Referências:

  1. 875-3053-10 - VERITAS Volume Manager, Command Line Interface, Administrator’s Guide: http://docs.filibeto.org/products-n-solutions/hardware/docs/pdf/875-3053-10.pdf
  2. Basic VxVM Commands: http://eval.veritas.com/downloads/van/vm_quickref.pdf
  3. vxresize man page: http://www.cuddletech.com/veritas/man/vxresize.m

Published by carla on 24 Jul 2008

AWK - Exemplo de uso com if

No exemplo abaixo, usarei o awk para avaliar o valor de uma coluna de dados e caso tenha o valor que eu desejo, imprimirei na tela os campos de meu interesse.

No exemplo abaixo quero avaliar se a data de um arquivo é 2006 e então exibir na tela a data e o nome do arquivo:

Saida do comando “ls -l”

-rw-r—–   1 userfoo   groupfoo  68578 Dec 29 2006  file_foo1.txt
-rw-r—–   1 userfoo   groupfoo  84609 Dec 29 2006  file_foo2.txt
-rw-r—–   1 userfoo   groupfoo  44587 Dec 29 2006  file_foo3.txt

Usando o awk:

# ls -l | awk  ‘{if ($8 == “2006″) print $8 “  ” $9}’

2006  file_foo1.txt
2006  file_foo2.txt
2006  file_foo3.txt

Mais informações sobre o uso do awk: http://www.grymoire.com/Unix/Awk.html

Published by carla on 22 Feb 2008

Como criar um arquivo de um tamanho específico

Abaixo, seguem os comandos utilizados em AIX e Solaris para criar um arquivo de um tamanho específico. A criação de um arquivo com um determinado tamanho é útil para algumas coisas como:

  • criar-se arquivos para testes, por exemplo, para transferir o arquivo via rede e avaliar a taxa de transferência da rede.
  • criar arquivos para serem usados como swap no Solaris.
  • etc.

AIX:

Comando lmktemp:

# /usr/sbin/lmktemp <nome do arquivo> <tamanho>

Exemplo:

# /usr/sbin/lmktemp teste.txt 100m

Solaris:

Comando mkfile:

# mkfile <tamanho> <nome do arquivo>

Exemplo:

# mkfile 100m teste.txt

Nos dois exemplos acima, um arquivo chamado teste.txt é criado com 100 MB.

Referência:

http://www.coolcommands.com/index.php?option=com_cccat&task=display&id=154

http://docs.sun.com/app/docs/doc/819-2240/6n4htdnct?l=en&a=view&q=mkfile

Published by carla on 03 Aug 2007

Como pular a primeira linha de uma lista

Há mais de uma maneira de pular a primeira linha de uma lista, seja essa lista um arquivo ou a saida de um comando.

Uma maneira bem simples é usar o comando tail com a opção +2:

tail +2 [nomedoarquivo]

O +2 no comando tail não está dizendo exatamente para pular a primeira linha, mas sim para exibir a lista a partir da segunda linha o que vai significar na prática a mesma coisa. No entanto, você pode usar o tail com +3, +4, etc, iniciando a listagem a partir de qualquer linha que se deseje.

Da man page do comando tail:

“If the first character of N (the number of bytes or lines) is a `+’, print beginning with the Nth item from the start of each file, otherwise, print the last N items in the file.

Referências:

Man page do comando tail: http://unixhelp.ed.ac.uk/CGI/man-cgi?tail

Forum - tópico (Best way to skip first line?):

http://www.daniweb.com/forums/thread80245.html (precisa de registro no site)

Published by carla on 29 Jun 2007

Email no Unix (mail/mailx) - Como enviar arquivo anexo

Como fazer para enviar um arquivo anexo através do comando mail ou mailx no Unix?

Por exemplo, pode ser necessário enviar um arquivo anexo em emails enviados através de scripts que realizam funções administrativas. Além do anexo, podemos enviar junto o conteúdo no corpo do email (body).

Seguem os passos para enviar um email contendo um arquivo compactado (.zip) e conteúdo no corpo do email:

1 - Compactar arquivos, gerando arquivo zip:

/usr/bin/zip arquivo.zip $diretorio/*ERR*

2 - Gerar o anexo. Para isso usamos o comando uuencode:

/usr/bin/uuencode arquivo.zip arquivo.zip > attachment.txt

OBS: Sim, o nome do arquivo zip é repetido 2 vezes no comando. Não é erro de digitação. :)

3 - Combinar o anexo com o texto que irá no corpo do email:

cat texto_email.txt attachment.txt > combinado.txt

O arquivo texto_email.txt contém o que irá escrito no corpo do email.

4 -Enviar o email com conteúdo no corpo do email e arquivo zip anexo:

/usr/bin/mailx -s “Email com anexo e conteúdo” email@dominio < combinado.txt

A opção “-s” é para colocar o Assunto/Subject do email.

Published by daniduc on 14 Jun 2007

Como remover um arquivo com nome estranho

Se você precisar remover um arquivo chamado -h o comando rm -h não irá funcionar. O comando rm irá interpretar o -h como um parâmetro e não como um arquivo, já que o primeiro caracter é o -, noramlmente utilizado para sinalizar parâmetros. Para remover o arquivo basta dar o caminho até ele:

daniduc@nicholas:~/teste$ ls
-h
daniduc@nicholas:~/teste$ rm ./-h
daniduc@nicholas:~/teste$ ls
daniduc@nicholas:~/teste$

Se o nome do arquivo começar por um espaço, basta colocar uma contrabarra na frente do espaço. Veja:

daniduc@nicholas:~/teste$ ls
teste
daniduc@nicholas:~/teste$ rm teste
rm: cannot lstat `teste’: No such file or directory
daniduc@nicholas:~/teste$ rm \ teste
daniduc@nicholas:~/teste$ ls
daniduc@nicholas:~/teste$

Published by carla on 11 Jun 2007

Comando rpm: Como listar todos os arquivos de um pacote instalado

Já escrevi como listar os arquivos de um pacote instalado no Aix através do comando lslpp. Agora segue como verificar os arquivos de um pacote instalado com o comando rpm:

Exemplo:

>rpm -ql sudo-1.6.5p2-2
/etc/sudoers
/opt/freeware/bin/sudo
/opt/freeware/doc/sudo-1.6.5p2
/opt/freeware/doc/sudo-1.6.5p2/BUGS
/opt/freeware/doc/sudo-1.6.5p2/CHANGES
/opt/freeware/doc/sudo-1.6.5p2/HISTORY
/opt/freeware/doc/sudo-1.6.5p2/LICENSE
/opt/freeware/doc/sudo-1.6.5p2/README
/opt/freeware/doc/sudo-1.6.5p2/RUNSON
/opt/freeware/doc/sudo-1.6.5p2/TODO
/opt/freeware/doc/sudo-1.6.5p2/TROUBLESHOOTING
/opt/freeware/doc/sudo-1.6.5p2/UPGRADE
/opt/freeware/doc/sudo-1.6.5p2/sudo.pod
/opt/freeware/doc/sudo-1.6.5p2/sudoers.pod
/opt/freeware/doc/sudo-1.6.5p2/visudo.pod
/opt/freeware/man/man5/sudoers.5
/opt/freeware/man/man8/sudo.8
/opt/freeware/man/man8/visudo.8
/opt/freeware/sbin/visudo
/usr/bin/sudo
/usr/sbin/visudo
/var/run/sudo

O comando rpm é utilizado em algumas distribuições Linux, bem como no Aix.

Referência:

How to use RPM Commands: http://www.faqs.org/docs/securing/chap3sec20.html

RPM Commands: http://www.idevelopment.info/data/Unix/Linux/LINUX_RPMCommands.shtml

RPM man page: http://www.die.net/doc/linux/man/man8/rpm.8.html

Published by carla on 01 Jun 2007

Solaris - Verificando a versão de um pacote instalado

Anotação simples. Para ver a versão de um pacote instalado no Solaris, use a opção “-x” do comando pkginfo:

Para identificar o pacote (exemplo: FTP server Proftp):

foo>pkginfo |grep proft
application SMCpftpd proftpd

Uma vez identificado o pacote, verifica-se a versão:

foo>pkginfo -x SMCpftpd
SMCpftpd proftpd
(sparc) 1.3.1rc2

Published by carla on 25 May 2007

Sed - dica

Um uso bem simples do SED. Supondo que você tenha quatro scripts denominados menu1.sh, menu2.sh, menu3.sh e menu4.sh, e você queira substiuir o valor de uma variável que ocorre em todos os scripts.

Ex: nomeservidor=teste1

Para cada servidor em que você for colocar os seus scripts, precisará mudar o valor desta variável. Para isso você pode fazer o seguinte for, utilizando o comando sed para fazer a substituição em todos de uma vez:

for i in `ls menu*`
do
sed “s/teste1/teste2/g” $i > $i.NEW
mv $i.NEW $i
done

O loop acima está fazendo o seguinte: para cada [arquivo], ele faz a substituição e direciona para um novo arquivo, [arquivo].NEW. Em seguida, ele move o [arquivo].NEW contendo os dados corretos para o [arquivo].

Published by carla on 18 May 2007

Solaris: Gerenciamento dispositivos (cd-rom, floppy, dvd-rom, zip) - daemon vold

O Solaris tem um sistema de gerenciamento de dispositivos que permite a montagem automática destes dispositivos pelo sistema. Assim, ao inserir um CD no drive por exemplo, ele será automaticamente montado.

O daemon responsável por esse gerenciamento é o vold.

Pode-se ativá-lo e desativá-lo facilmente, fazendo uso ou não desta funcionalidade.

Para iniciá-lo:

foo:/etc/init.d>./volmgt start
volume management starting.

Verificando o processo:

foo:/etc/init.d>ps -ef |grep -i vold
root 10415 1 0 17:15:16 ? 0:02 /usr/sbin/vold
foo:/etc/init.d>

Parando o serviço:

foo:/etc/init.d>./volmgt stop

foo:/etc/init.d>ps -ef |grep vold
root 12270 2967 0 17:28:50 pts/7 0:00 grep vold
foo:/etc/init.d>

Referências:

vold - man page

http://docs.sun.com/app/docs/doc/817-0690/6mgflntq1?q=vold&a=view

Solaris 9 - System Administration Guide: Basic Administration (veja “Guidelines for Accessing Removable Media Data” na página 232)

http://docs-pdf.sun.com/817-3814/817-3814.pdf

Next »