#!/bin/bash
#
# Agenda Simples em Yad
# Autor: Daniel Lara Souza
# Versao 0.2
# Migrado do Dialog para o Yad
# Ajuda do rai3mb ( Raimundo Alves Portela )
# na Criação do Menu
while : ; do
OPCAO=$( \
yad --list \
--title=' AGENDA ' --text='Escolha um opcao: ' \
--width=400 --height=200 \
--column='opcao':NUM --column='texto':TEXT \
--no-headers --print-column=1 --separator='' --hide-column=1 \
1 'Adicionar Contato' \
2 'Listar Contatos' \
3 'Pesquisar Contatos ' \
4 'Deletar Contatos' \
--button="Sair":1 --button="Acessar":0 )
[ $? -ne 0 ] && break
case "$OPCAO" in
1)
NOME=$( yad --entry --entry-label="Nome" --entry-text="")
FONE=$( yad --entry --entry-label="Telefone" --entry-text="")
echo $NOME - $FONE >> agenda;
;;
2) sort agenda > agenda.tmp
AGENDA=$(cat agenda.tmp)
yad --title="Agenda" --text="$AGENDA" --width="300" --height="100"
rm -rf agenda.tmp
;;
3) nome=$( yad --entry --entry-label="Nome" --entry-text="" )
AGENDA=$(cat agenda | grep $nome)
yad --title="Agenda" --text="$AGENDA" --width="300" --height="100"
;;
4) nome=$( yad --entry --entry-label="Nome" --entry-text="" )
mv agenda agenda.tmp
grep -v $nome agenda.tmp > agenda
rm -rf agenda.tmp
;;
0) break
;;
esac
done
quarta-feira, 8 de fevereiro de 2012
segunda-feira, 12 de dezembro de 2011
Dica sobre o Crontab
crontab é um programa do Unix que edita o arquivo onde são especificados os comandos a serem executados e a hora e dia de execução pelo cron, um programa que executa comandos agendados nos Sistemas Operacionais do tipo Unix(como o Linux ou o Minix, por exemplo). O cron se encarregará de verificar a hora e determinar se existe ou não algum programa a ser rodado. Caso exista ele o rodará na hora e data solicitada, neste post vamos explicar um pouco sobre isso.
Vamos para a sintaxe Funciona assim:
Onde:
Vamos para a sintaxe Funciona assim:
mm hh dd MM ss script
Onde:
mm = minuto(0-59) hh = hora(0-23) dd = dia(1-31) MM = mes(1-12) ss = dia_da_semana(0-6) script = comando a ser executado.
Obs 1: Em dia_da_Semana, 0 refere-se a domingo; e 6, ao sábado. No caso de dia da semana funciona também as três primeiras letras (em inglês) do dia da semana (SUN,MON,TUE,WED,THU,FRI,SAT)
Obs 2: Em qualquer posição pode-se usar o * (asterisco) quando não se importar com o campo em questão.
Obs 3: Pode-se utilizar intervalos nesses campos. O caracter para intervalo é o - (hifen).
Obs 4: Pode-se utilizar lista de valores nesses campos. O caracter para a lista é a , (vírgula).
Obs 5: Qualquer texto colocado após o programa que será executado será considerado comentário e não será interpretado pelo cron
Alguns exemplos Abaixo:
#cat /etc/crontab Todo dia de hora em hora (hora cheia) 00 * * * * /bin/script
De cinco em cinco minutos todos os dias (note a divisão por 5 do intervalo 00-59) 00-59/5 * * * * /bin/script
Nas seguintes horas: 10, 12, 16, 18, 22 aos 15 minutos da hora 15 10,12,16,18,22 * * * /bin/script<
Nos primeiros cinco dias do mês às 19:25 25 19 01-05 * * /bin/script
De segunda a sexta ao meio-dia e a meia-noite 00 00,12 * * 1-5 /bin/script
Script rodar Segunda,Quarta,Sexta às 2 horas 0 2 * * mon,wed,fri /bin/script
Script para rodar Terça,Quinta às 3 horas 0 3 * * tue,thu /bin/script
Script para ser executado minuto a minuto */1 * * * * /bin/script
Alguns Parâmetros
-l usuário -- lista as tarefas agendadas para o usuário -e usuário -- edita o agendador -r usuário -- apaga o arquivo do usuário -c diretório -- especifica um diretório para o Crontab
Há e também de uma olhada na manpage do crontab #man crontab
segunda-feira, 7 de novembro de 2011
Fórum Tchelinux.org - Edição Porto Alegre 2011
O Fórum Tchelinux.org - Edição Porto Alegre 2011, é um evento promovido por voluntários do Grupo de Usuários de Software Livre Tchelinux.org em parceria com a FTEC Porto Alegre, com a finalidade de divulgar Tecnologias Livres, como Softwares Livres (Free Software/ Open Source), Linguagens de Programação e Hardware, através de palestras e workshops, veiculadas para todos os interessados da área de Tecnologia da Informação.
O Tchelinux.org é um grupo formado por entusiastas voluntários que utilizam software livre em seu cotidiano. A iniciativa baseia-se no compartilhamento do conhecimento adquirido, visando deixar claro que tanto o software utilizado, quanto o conhecimento, são livres e podem ser usados por todos, sem barreiras.
Acesse , Participe
http://tchelinux.org/site/doku.php?id=evento_poa_2011
quarta-feira, 26 de outubro de 2011
Dimensionando partição superior a 2TB
Bom, tive um problema com discos de 2TB em meu servidor. Eles estavam com RAID, bom e com o fdisk ele informava que tava um erro
Veja
# fdisk -l /dev/sda
Bom de Cara o fdisk já me informa pra usar o GNU Parted pois o mesmo não tem suporte a GPT. e ai o que eu fiz foi:
#man parted
e ai as coisas ficaram claras e fiz exatamente assim
# parted /dev/sda
Vamos definir a unidade padrão para TB
(parted) unit TB
Vamos criar a partição com os mais de 2TB
(parted) mkpart primary 0.00TB 9.35TB
(parted) print
Disk /dev/sda: 9.35TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size & nbsp ; File system Name Flags
1 0.00TB 9.35TB 9.35TB ; primary
Agora sim
(parted) quit
Information: Don't forget to update /etc/fstab, if necessary.
Ok, vamos usar o mkfs para formatar:
# mkfs.ext3 /dev/sda1
Verificando como ficou:
# fdisk -l /dev/sda
Note como ficou o meu /dev/sda1 no número de blocks.
Agora vamos montar o mesmo:
# mount /dev/sda1 /Backup
Bom agora tenho espaço para Backup de sobra .
Veja
# fdisk -l /dev/sda
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
WARNING: The size of this disk is 9.3 TB (9345848836096 bytes).
DOS partition table format can not be used on drives for volumes
larger than 2.2 TB (2199023255040 bytes). Use parted(1) and GUID
partition table format (GPT).
Disk /dev/sda: 9345.8 GB, 9345848836096 bytes
255 heads, 63 sectors/track, 1136234 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Bom de Cara o fdisk já me informa pra usar o GNU Parted pois o mesmo não tem suporte a GPT. e ai o que eu fiz foi:
#man parted
e ai as coisas ficaram claras e fiz exatamente assim
# parted /dev/sda
GNU Parted 1.8.1(parted) mklabel gpt
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
Vamos definir a unidade padrão para TB
(parted) unit TB
Vamos criar a partição com os mais de 2TB
(parted) mkpart primary 0.00TB 9.35TB
(parted) print
Disk /dev/sda: 9.35TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size & nbsp ; File system Name Flags
1 0.00TB 9.35TB 9.35TB ; primary
Agora sim
(parted) quit
Information: Don't forget to update /etc/fstab, if necessary.
Ok, vamos usar o mkfs para formatar:
# mkfs.ext3 /dev/sda1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1140850688 inodes, 2281701367 blocks
114085068 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
69632 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:
This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Verificando como ficou:
# fdisk -l /dev/sda
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
WARNING: The size of this disk is 9.3 TB (9345848836096 bytes).
DOS partition table format can not be used on drives for volumes
larger than 2.2 TB (2199023255040 bytes). Use parted(1) and GUID
partition table format (GPT).
Disk /dev/sda: 9345.8 GB, 9345848836096 bytes
255 heads, 63 sectors/track, 1136234 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 267350 2147483647+ ee EFI GPT
Note como ficou o meu /dev/sda1 no número de blocks.
Agora vamos montar o mesmo:
# mount /dev/sda1 /Backup
Bom agora tenho espaço para Backup de sobra .
quarta-feira, 19 de outubro de 2011
Agenda em Dialog
Uma agenda simples, que solicita nome e telefone em dialog
Na proxima versão esta sendo melhado , para Utilizar Banco MySQL
Na proxima versão esta sendo melhado , para Utilizar Banco MySQL
#!/bin/bash
#
# Agenda Simples em Dialog
# Autor: Daniel Lara Souza
# Versao 0.1
while
: ;
do
reposta=$(
dialog --stdout \
--title
' AGENDA '
\
--menu
'Escolha um opcao: '
\
0 0 0 \
1
'Adicionar Contato'
\
2
'Listar Contatos'
\
3
'Pesquisar Contatos '
\
4
'Deletar Contatos'
\
0
'Sair'
\
)
[ $? -
ne
0 ] &&
break
case
"$reposta"
in
1) nome=$( dialog --stdout --inputbox
'Digite o nome:'
0 0 )
fone=$( dialog --stdout --inputbox
'Digite o Telefone:'
0 0 )
echo
$nome - $fone >> agenda;
;;
2)
sort
agenda > agenda.tmp
dialog --textbox agenda.tmp 0 0
rm
-rf agenda.tmp
;;
3) nome=$( dialog --stdout --inputbox
'Digite o nome:'
0 0 )
cat
agenda |
grep
$nome > agenda.tmp
dialog --textbox agenda.tmp 0 0
rm
-rf agenda.tmp
;;
4) nome=$( dialog --stdout --inputbox
'Digite o nome:'
0 0 )
mv
agenda agenda.tmp
grep
-
v
$nome agenda.tmp > agenda
rpm -rf agenda.tmp
;;
0)
break
;;
esac
done
quinta-feira, 13 de outubro de 2011
Instalando o Bacula-web no CentOS 5.X
Bacula-web é uma ferramenta de código aberto cujo projeto começou em 2004, originalmente escrito por Juan Luis Frances, que se encontra atualmente na versão 5.1.0-ALPHA. Esta ferramenta é escrita em PHP, html, css e javascript, e é liberado sob os termos da licença GPL.
O Bacula-web serve para monitoramento e relatórios do Bacula, onde temos:
- Quantos clientes configurados;
- Total de bytes armazenados em seu catálogo;
- Total de arquivos armazenados em seu catálogo;
- O tamanho do banco de dados do catálogo.
Também temos em relação aos Jobs:
- Jobs em execução;
- Jobs concluídos;
- Jobs com falha;
- Jobs cancelados;
- Jobs em espera.
Temos o status dos Jobs das últimas 24 horas onde informam:
- Quantos Jobs em execução;
- Jobs com falha;
- Jobs concluídos;
- Jobs em espera.
Quantos posts de Jobs para cada nível (incremental, diferencial e integral):
- Total de bytes transferidos;
- Arquivos transferidos.
Instalando e configurando
Após ter o seu Bacula já instalado e funcionando; chegou a hora de você visualizar os relatórios.Bom, com o Bacula-web não é necessário estar no mesmo servidor do Bacula, pode ser em outra máquina.
Instalando o PHP e Apache:
# yum install httpd php php-gd php-gettext php-mysql php-pear-DB -y
Iniciando o Apache na inicialização:
# chkconfig httpd on
Baixe a versão alpha do Bacula-web:
# wget http://bacula- web.dflc.ch/tl_files/downloads/bacula-web.5.1.0-alpha.tar.gz
Crie o diretorio bacula-web
#mkdir /var/www/html/bacula-web
Após isso, vamos descompactar:
# tar -xzf bacula-web-5.1.0-alpha.tar.gz -C /var/www/html/bacula-web
Vamos ajustar o config.php:
# cd /var/www/html/bacula-web/config
# vim config.php
e deixe como no exemplo abaixo:
<?php
$config['language'] = 'en_EN';
#MySQL bacula catalog
$config[0]['label'] = 'Backup Server';
$config[0]['host'] = 'IP';
$config[0]['login'] = 'usuario';
$config[0]['password'] = 'senha';
$config[0]['db_name'] = 'bacula';
$config[0]['db_type'] = 'mysql';
$config[0]['db_port'] = '3306';
?>
Após isso, salve e saia do arquivo.
Ajustando as permissões:
# chown -Rv apache:apache ./bacula-web
# chmod -Rv u=rx,g=rx,o=rx ./bacula-web
# chmod -v ug+w ./bacula-web/templates_c
Reinicie o Apache:
# service httpd restart
E depois acesse:
http://seuip/bacula-web
quinta-feira, 6 de outubro de 2011
Instalando o editor Vim no CentOS 5
Um dica rápida de como instalar o Vim no CentOS.
Baixando e instalando o pacote:
# yum install vim-enhanced -y
Adicionado o alias:
$ echo "alias vi=vim" >> ~/.bashrc
e:
$ source ~/.bashrc
Pronto. Vim instalado!
Para testar:
$ vim
Baixando e instalando o pacote:
# yum install vim-enhanced -y
Adicionado o alias:
$ echo "alias vi=vim" >> ~/.bashrc
e:
$ source ~/.bashrc
Pronto. Vim instalado!
Para testar:
$ vim
Assinar:
Postagens (Atom)