segunda-feira, 25 de fevereiro de 2013
Clone de HD pela rede com DD Linux
Com o DD via SSH pode ser feito backups de partições e hds pela rede.
Segue alguns exemplos:
# dd if=/dev/hda1 | gzip | ssh root@servidor dd of=/backup/bkp_hda1.gz
Depois para restaurar utilize o seguinte comando:
# dd if=/backup/bkp_hda1.gz | gzip -d | ssh root@servidor dd of=/dev/hda1 *
Lembrando que as partições devem estar desmontadas Também é possível realizar a clonagem de partições pela rede:
# dd if=/dev/hda1 | gzip | ssh root@192.168.1.3 gunzip | dd of=/dev/hdb2
Pode ser feito sem o gzip, porém a cópia demorará mais:
# dd if=/dev/hda1 | ssh root@192.168.1.3 dd of=/dev/hdb2
Fonte: Viva o Linux
quarta-feira, 20 de fevereiro de 2013
Migrar Vm XCP para outro 'Node' (Nó) entre maquinas com hardwares diferentes
The VM is incompatible with the CPU features of this host.
Caso ocorra a mensagem abaixo voce deve checar se as interfaces "Networking" dos 'Nodes' estão iguais para nao ocasionar incompatibilidade de hardware e também se a interface de "Networking" da VM deve contem somente redes que estão ativas.
"You attempted to run a VM on a host which doesn't have a PIF on a Network needed by the VM. The VM has at least one VIF attached to the Network."
Comando para Migração:
xe vm-migrate live=true remote-master=IP_DO_MASTER remote-username=root remote-password=1234 name-label=NOME_DA_VM host=NOME_DO_NÓ_DE_DESTINO force=true
Adicionar Nó VM ao Pool no XCP com Hardwares diferentes
Realmente as maquinas são diferentes em questão de hardware, os processadores, placas e Hds são diferentes, uma delas estava com 3 placas de rede trabalhando como BOND, foi necessario a remoção do BOND e ingressar de modo forçado no POOL via SSH.
Segue o comando via SSH para Ingressar no Pool de modo 'Forçado'.
xe pool-join master-address=IP_DO_MASTER master-username=root master-password=1234 force=true
Apos o comando a maquina foi adicionada ao POOL.
quarta-feira, 16 de janeiro de 2013
Acesso VNC no Linux sem monitor conectado - Debian Ubuntu
Um detalhe no Xorg é que para iniciar o X voce deve estar com um monitor conectado, o servidor X não inicia sem monitor, na nossa situação temos um servidor que gostariamos de deixar sem monitor mas ao mesmo tempo conectar via VNC para acessar o Grafico, segue a solução para configurar a disponibilidade do Servidor X para o acesso VNC sem monitor.
Vamos utilizar o Xserver Dummy, digite o comando abaixo para instalar:
apt-get install xserver-xorg-video-dummy
Crie o arquivo xorg.conf
touch /etc/X11/xorg.conf
Salve o conteudo dentro do arquivo xorg.conf
##Arquivo xorg.conf para Servidor VNC x11vnc
##
Section "Device"
Identifier "Configured Video Device"
Driver "dummy"
EndSection
Section "Monitor"
Identifier "Configured Monitor"
HorizSync 31.5-48.5
VertRefresh 50-70
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x800"
EndSubSection
EndSection
##
##Fim do xorg.conf
Reinicie o Gerenciador Grafico
Para GDM (Gnome) digite:
su /etc/init.d/gdm restart
Para KDM (Kde) digite:
su /etc/init.d/kdm restart
Para XDM digite:
su /etc/init.d/xdm restart
Caso queira acessar o Grafico da maquina local ou voltar a configuração original basta renomear ou apagar o arquivo "xorg.conf".
Instalar VNC Server x11vnc no Debian - Ubuntu
Vamos ao que interessa:
Primeiramente vamos instalar o pacote necessario para execução do Servidor Vnc
No bash digite o comando:
apt-get install x11vnc
Agora vamos configurar o arquivo que armazena a senha de acesso do servidor Vnc
Crie o Diretorio para armazenar o arquivo de senha
mkdir -p /etc/x11vnc
Crie o arquivo de senha dentro de /etc/x11vnc/
touch /etc/x11vnc/vncpasswd
Crie uma senha e armazene dentro do arquivo criado:
x11vnc -storepasswd suasenha /etc/x11vnc/vncpasswd
Crie um arquivo para armazenar o script de inicialização do Servidor Vnc x11vnc
touch /etc/init.d/x11vnc-init
Dê permissão de execução para o script
chmod +x /etc/init.d/x11vnc-init
Copie o conteudo do script abaixo e cole dentro do arquivo "/etc/init.d/x11vnc-init"
#!/bin/bash
# --------------------------------
# /etc/init.d/x11vnc
# --------------------------------
# find xauthority file
find_xauth () {
FOUND=0
RETRIES=4
[ -z "$1" ] || RETRIES="$1"
[ -e "/var/lib/kdm/" ] &&
XAUTHFILE_KDM=`find /var/lib/kdm/ -iname "A\:0-*"`
[ -e "/var/run/xauth/" ] &&
XAUTHFILE_KDM2=`find /var/run/xauth/ -iname "A\:0-*"`
[ -e "/var/lib/xdm/authdir/authfiles/" ] &&
XAUTHFILE_XDM=`find /var/lib/xdm/authdir/authfiles/ -iname "A\:0-*"`
[ -e "/var/lib/gdm/" ] &&
XAUTHFILE_GDM=`find /var/lib/gdm/ -iname *Xauth*`
[ -f "$XAUTHFILE_KDM" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_KDM"
[ -f "$XAUTHFILE_KDM2" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_KDM2"
[ -f "$XAUTHFILE_XDM" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_XDM"
[ -f "$XAUTHFILE_GDM" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_GDM"
if [ "$FOUND" -eq "0" ]; then
if [ "$RETRIES" -gt "0" ]; then
let "RETRIES-=1"
find_xauth "$RETRIES"
else
echo "carregamento FALHOU (nao foi possivel encontrar uma maneira para me autenticar com o Servidor X)" >>/var/log/x11vnc.log
exit -1
fi
else
echo "Encontrado o arquivo de autenticacao ($XAUTHORITY)" >>/var/log/x11vnc.log
fi
}
START_COMMAND="x11vnc"
X11VNC_PARAMS="-ncache -noxrecord -noxfixes -display :0 -noxdamage -forever -bg"
case "$1" in
start)
if [ ! -f /etc/x11vnc/vncpasswd ]; then
echo " carregamento FALHOU (arquivo '/etc/x11vnc/vncpasswd' nao encontrado)" >>/var/log/x11vnc.log
echo " Crie a senha manualmente digitando o comando: x11vnc -storepasswd suasenha /etc/x11vnc/vncpasswd " >>/var/log/x11vnc.log
exit -1;
fi
#su -c "$COMMAND" -l x11vnc &
if [ $X11VNC_X11 = 1 ]; then
find_xauth
START_COMMAND="$START_COMMAND -auth $XAUTHORITY $X11VNC_PARAMS"
else
START_COMMAND="$START_COMMAND $X11VNC_PARAMS"
fi
OUTPUT=`$START_COMMAND`
echo "$START_COMMAND" >>/var/log/x11vnc.log
echo "$OUTPUT" >>/var/log/x11vnc.log
;;
stop)
pid=`pidof x11vnc`
if [ -z "$pid" ]
then
echo "x11vnc nao esta rodando" >>/var/log/x11vnc.log
exit -1;
else
kill -9 $pid
echo "x11vnc parado" >>/var/log/x11vnc.log
fi
;;
*)
echo "x11vnc Script de Inicializacao"
echo "Use: $0 (start|stop)"
echo "$OUTPUT"
;;
esac
exit 0
Caso o seu gerenciador de Display for o GDM (GNOME) use o comando:
echo "sh /etc/init.d/x11vnc-init start" >> /etc/X11/gdm/Init/Default /etc/gdm/Init/Default
Caso o seu gerenciador de Display for o KDM (KDE) use o comando:
echo "sh /etc/init.d/x11vnc-init start" >> /etc/kde*/kdm/Xsetup
Caso o seu gerenciador de Display for o XDM use o comando:
echo "sh /etc/init.d/x11vnc-init start" >> /etc/X11/xdm/Xsetup
Caso o seu gerenciador de Display for o CDE use o comando:
echo "sh /etc/init.d/x11vnc-init start" >> /etc/dt/config/Xsetup
Reinicie o Gerenciador de Display e acesse o Vnc pelo IP da maquina e a porta 5900
quinta-feira, 10 de janeiro de 2013
Instalação do Xen 4.1 no Debian Wheezy 7.0 Netinstall - Script
Você tem a liberdade de montar as partições e seus tamanhos conforme sua necessidade, nós usamos o exemplo a seguir:
Hd de 1 TeraByte
Partição Raiz '/' - Tipo: EXT4 - Tamanho: 50 Gb
Partição para os Discos das DOMUs (Maquinas virtuais) - Tipo: Linux LVM - Tamanho: 938 Gb
Partição de Area de troca - Tipo SWAP - Tamanho: 12 Gb
Instalamos o Linux sem configurar a interface de rede local, selecionamos para "Não configurar agora" e prosseguimos a instalação sem rede, poderá usar essa opção conforme sua necessidade.
Para poupar recursos do sistema usamos o Xdm como gerenciador de login e o FluxBox como Gerenciador de Janelas.
Foi optado pelo uso do Virt-Manager para o Gerenciamento das maquinas virtuais, ele facilita a criação, administração e visualização da sua VM, também poderá gerenciar o seu grupo de volumes lógicos, criando volumes lógicos no momento da criação da VM, isto tudo via interface gráfica.
Após a instalação crie um arquivo "script.sh" com o conteudo Abaixo e dê permissão de execução:
#!/bin/bash
function pause(){
read -p "$*"
}
pause 'Este Script ira instalar o Xen 4.1 no Debian Wheezy, pressione [ENTER] para continuar...'
echo 'Etapa de Configuracao das interfaces de rede LoopBack e Eth0 '
echo -n 'Deseja configurar as interfaces de rede ? s/n ' ; read resposta
if [ $resposta == "s" ] ; then
pause 'O sistema ira configurar a rede, pressione [ENTER] para continuar...'
echo 'auto lo' > /etc/network/interfaces
echo 'iface lo inet loopback' >> /etc/network/interfaces
echo '' >> /etc/network/interfaces
echo 'auto eth0' >> /etc/network/interfaces
echo 'iface eth0 inet dhcp' >> /etc/network/interfaces
fi
echo 'Serviço de rede'
echo -n 'Deseja reiniciar Servico de rede ? s/n ' ; read resposta
if [ $resposta == "s" ] ; then
echo 'Reiniciando os serviços de rede...'
/etc/init.d/networking restart
fi
echo 'Arquivos de enderecos de repositorio'
echo -n 'Deseja configurar os arquivos de endereco dos repositorios ? s/n ' ; read resposta
if [ $resposta == "s" ] ; then
echo 'deb http://security.debian.org/ wheezy/updates main contrib non-free' > /etc/apt/sources.list
echo 'deb-src http://security.debian.org/ wheezy/updates main contrib non-free' >> /etc/apt/sources.list
echo 'deb http://ftp.br.debian.org/debian/ wheezy main contrib non-free' >> /etc/apt/sources.list
echo 'deb-src http://ftp.br.debian.org/debian/ wheezy main contrib non-free' >> /etc/apt/sources.list
echo 'Arquivos de configuração de repositorio configurados...'
fi
echo 'Atualizacao de endereços de repositorio'
echo -n 'Deseja atualizar os enderecos dos repositorios ? s/n ' ; read resposta
if [ $resposta == "s" ] ; then
apt-get update
fi
echo 'Instalacao de pacotes necessarios'
echo -n 'Deseja instalar os pacotes para instalacao do Servidor Xen ? s/n ' ; read resposta
if [ $resposta == "s" ] ; then
apt-get install xen-linux-system-3.2.0-4-amd64 xen-utils-4.1 xen-tools sudo xserver-xorg xserver-xorg-core xorg fluxbox xdm xenwatch virt-manager firmware-realtek openssh-server vim less -y
fi
echo 'Configuracao do Gestor de Inicialização GRUB'
echo -n 'Deseja configurar o Grub para o Servidor Xen ? s/n ' ; read resposta
if [ $resposta == "s" ] ; then
mv /etc/grub.d/10_linux /etc/grub.d/50_linux
echo "" >> /etc/default/grub
echo "# Disable OS prober to prevent virtual machines on logical volumes from appearing in the boot menu." >> /etc/default/grub
echo "GRUB_DISABLE_OS_PROBER=true" >> /etc/default/grub
echo "" >> /etc/default/grub
echo "# Xen boot parameters for all Xen boots" >> /etc/default/grub
echo 'GRUB_CMDLINE_XEN="dom0_mem=1024M"' >> /etc/default/grub
update-grub2
fi
echo 'Copiar Bibliotecas do XEN para o Virt-Manager'
echo -n 'Deseja copiar as bibliotecas do Servidor Xen para o Virt-Manager ? s/n ' ; read resposta
if [ $resposta == "s" ] ; then
mkdir -p /usr/lib/xen-default/
mkdir -p /usr/lib64/xen/
cp /usr/lib/xen-4.1/* -rv /usr/lib/xen-default/
cp /usr/lib/xen-4.1/* -rv /usr/lib64/xen/
fi
echo 'Configuracao do HOST Xen (DOMAIN 0)'
echo -n 'Deseja configurar os parametros necessarios no Servidor Xen ? s/n ' ; read resposta
if [ $resposta == "s" ] ; then
sed -i 's|(enable-dom0-ballooning yes)|(enable-dom0-ballooning no)|g' /etc/xen/xend-config.sxp
sed -i 's|#(xend-http-server no)|(xend-http-server yes)|g' /etc/xen/xend-config.sxp
sed -i 's|#(xend-unix-server no)|(xend-unix-server yes)|g' /etc/xen/xend-config.sxp
sed -i 's|# (network-script network-bridge)|(network-script network-bridge)|g' /etc/xen/xend-config.sxp
sed -i 's|(dom0-min-mem 196)|(dom0-min-mem 1024)|g' /etc/xen/xend-config.sxp
sed -i 's|XENDOMAINS_SAVE=/var/lib/xen/save|XENDOMAINS_SAVE=""|g' /etc/default/xendomains
sed -i 's|XENDOMAINS_RESTORE=true|XENDOMAINS_RESTORE=false|g' /etc/default/xendomains
fi
echo 'Configurar a rede Bridge xenbr0'
echo -n 'Deseja Configurar a rede Bridge xenbr0 ? s/n ' ; read resposta
if [ $resposta == "s" ] ; then
echo '' >> /etc/network/interfaces
echo 'auto xenbr0' >> /etc/network/interfaces
echo 'iface xenbr0 inet dhcp' >> /etc/network/interfaces
echo 'bridge_ports eth0' >> /etc/network/interfaces
echo 'bridge_stp on' >> /etc/network/interfaces
echo 'bridge_maxwait 0' >> /etc/network/interfaces
echo 'bridge_fd 0' >> /etc/network/interfaces
ifconfig xenbr0 up
/etc/init.d/networking restart
brctl addbr xenbr0
fi
#FIM
sexta-feira, 7 de dezembro de 2012
Instalando Xen 4.0 no Debian Squeeze 6.0.5 NetInstall
Devido ser um servidor de maquinas virtuais, leve em conta os riscos futuros e monte com Espelhamento de disco e LVM para abrigar os discos das Vm's pois ajudará na performance e no gerenciamento dos volumes.
Sugestão para criação das partições:
Exemplo de particionamento usando Raid e Lvm em um disco de 1 TeraByte.
Raid via software, Raid 1 (Espelhamento) e LVM (Logical Volume Manager) com a estrutura abaixo:
Partição para os arquivos de boot ( /boot )
/dev/md0 = 100 MB
Partição para raiz ( / )
/dev/md1 = 3000 MB
Partição para os arquivos variaveis ( /var )
/dev/md2 = 1000 MB
Partição para area de troca ( Swap )
/dev/md3 = 8000 MB
Partição para o LVM ( Volume Lógico )
/dev/md4 = 988000 MB
Monte o sistema de arquivos conforme suas necessidades, usamos Ext4 nas partições e o LVM para armazenar os discos das VM's.
Durante a instalação, quando aparecer a tela chamada:
"Configurando a rede via DHCP" , clique em cancelar e selecione a opção:
"Não Configurar agora a rede"
e prossiga com a instalação.
Após a conclusão da instalação do Sistema Operacional, configure o a rede para conectar a internet:
# echo >> 'auto eth0' /etc/network/interfaces && echo 'iface eth0 inet dhcp' >> /etc/network/interfaces
# /etc/init.d/networking restart
Instale o Servidor SSH
apt-get install openssh-server
Configure o arquivo de Repositorio conforme segue:
#
deb cdrom:[Debian GNU/Linux 6.0.5 _Squeeze_ - Official amd64 NETINST Binary-1 20120512-20:40]/ squeeze main
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
deb ftp://ftp.debian.org/debian/ stable main
deb-src ftp://ftp.debian.org/debian/ stable main
deb http://ftp.debian.org/debian/ squeeze-updates main
deb-src http://ftp.debian.org/debian/ squeeze-updates main
Atualize os repositorios:
# apt-get update
Instale os pacotes necessarios:
# apt-get install linux-image-xen-amd64 xen-hypervisor-4.0-amd64 xen-tools vim sudo openssh-server xserver-xorg xserver-xorg-core x-window-system-core x-window-system fluxbox xdm xenwatch virt-manager vim
Depois do sistema instalado e inicializado, crie uma nova partição, alocando o espaço livre que você deseja usar para suas máquinas virtuais Domu. Entre outras vantagens, o Xen tem muito melhor desempenho IO de disco, se você usar LVM ao invés de imagens de disco. Crie o grupo de volume assim, atribuindo o md4 a sua partição vazia LVM.
Instale o pacote de suporte a LVM
# apt-get install lvm2
Crie o volume fisico
# pvcreate /dev/md4
Crie o grupo do Volume
# vgcreate xen-vol /dev/md4
xeninstalldebiansqueeze.sh
#!/bin/bash
echo 'auto lo' > /etc/network/interfaces && echo 'iface lo inet loopback' >> /etc/network/interfaces && echo 'auto eth0' >> /etc/network/interfaces && echo 'iface eth0 inet dhcp' >> /etc/network/interfaces
/etc/init.d/networking restart
echo 'deb http://security.debian.org/ squeeze/updates main' > /etc/apt/sources.list
echo 'deb-src http://security.debian.org/ squeeze/updates main' >> /etc/apt/sources.list
echo 'deb ftp://ftp.debian.org/debian/ stable main' >> /etc/apt/sources.list
echo 'deb-src ftp://ftp.debian.org/debian/ stable main' >> /etc/apt/sources.list
echo 'deb http://ftp.debian.org/debian/ squeeze-updates main' >> /etc/apt/sources.list
echo 'deb-src http://ftp.debian.org/debian/ squeeze-updates main' >> /etc/apt/sources.list
apt-get update
apt-get install linux-image-xen-amd64 xen-hypervisor-4.0-amd64 xen-tools vim sudo openssh-server xserver-xorg xserver-xorg-core x-window-system-core x-window-system fluxbox xdm xenwatch virt-manager xen-qemu-dm-4.0 vim -y
mv /etc/grub.d/10_linux /etc/grub.d/50_linux
echo "" >> /etc/default/grub
echo "# Disable OS prober to prevent virtual machines on logical volumes from appearing in the boot menu." >> /etc/default/grub
echo "GRUB_DISABLE_OS_PROBER=true" >> /etc/default/grub
echo "" >> /etc/default/grub
echo "# Xen boot parameters for all Xen boots" >> /etc/default/grub
echo 'GRUB_CMDLINE_XEN="dom0_mem=1024M"' >> /etc/default/grub
mkdir -p /usr/lib64/xen/
cp /usr/lib/xen-4.0/* -rv /usr/lib64/xen/
sed -i 's|(enable-dom0-ballooning yes)|(enable-dom0-ballooning no)|g' /etc/xen/xend-config.sxp
sed -i 's|#(xend-http-server no)|(xend-http-server yes)|g' /etc/xen/xend-config.sxp
sed -i 's|#(xend-unix-server no)|(xend-unix-server yes)|g' /etc/xen/xend-config.sxp
sed -i 's|# (network-script network-bridge)|(network-script network-bridge)|g' /etc/xen/xend-config.sxp
sed -i 's|(dom0-min-mem 196)|(dom0-min-mem 1024)|g' /etc/xen/xend-config.sxp
sed -i 's|XENDOMAINS_SAVE=/var/lib/xen/save|XENDOMAINS_SAVE=""|g' /etc/default/xendomains
sed -i 's|XENDOMAINS_RESTORE=true|XENDOMAINS_RESTORE=false|g' /etc/default/xendomains
update-grub2
pvcreate /dev/sda3
vgcreate xen-vol /dev/sda3
--------------------------------------------------------------------------------------
terça-feira, 11 de setembro de 2012
Tutorial Root Mini Pc Android 4.0.4 Media Player Minix H24
Como fazer ROOT no seu Minix Media Player H24 TV Box
Ele vem com o processador Allwinner (Cortex A8) A10 e com Android 4.0, já traz algum divertimento.
Este dispositivo vem com a entrada USB OTG. Mas infelizmente nós não temos o cabo para este dispositivo, aquele cabo USB com duas pontas macho. Então somente poderemos conectar neste dispositivo pela Rede sem Fio Wifi. Siga os proximos passos:
AVISO: É somente sua as responsabilidades e consequencias de realizar os passos a seguir. Não me responsabilizo pelo seu dispositivo, explosão, desintegração, etc. Se talvez voce perder a garantia do aparelho ou torna-lo um peso de papel. Você foi avisado !
1. Habilite o Wifi. Conecte o Wifi no seu Access Point ou Roteador
2. Adicione uma conta no Google e entre no Google Play Store.
3. Instale o Aplicativo chamado "Wifi Adb", tem um icone com um besouro vermelho.
4. Instale o Busybox installer
5. Instale o Superuser
6. Execute o aplicativo "Wifi Adb"
7. Clique no botão "Turn On" . Ele vai mostrar o IP e a Porta do seu dispositivo. Precisaremos dessas informaçoes para o proximo passo.
8. No seu Desktop ou Notebook, e instale o Adb Shell Tools para acessa-lo remotamente.
9. Entre na pasta que está o Adb Shell Tools e execute o comando abaixo para conectar no dispositivo:
adb connect 192.168.100.5
Onde 192.168.100.5 será seu ip que o Wifi Adb estará mostrando.
Se der tudo certo voce receberá a mensagem:
connected to 192.168.100.5:5555
Entre no prompt de comando do Adb digitando o comando abaixo:
adb shell
Aparecerá o prompt abaixo:
root@android:/ #
10. Isso indica que o seu aparelho ja está rootado. Entretanto, ele nao tem o Aplicativo superuser instalado, e os aplicativos que exigem Root nao funcionarão como esperando ainda.
11. Vá em frente e instale o aplicativo superuser atraves do Google Play Store. Ainda assim o a raiz do Prompt nao aparece ainda. Mas, o proximo passo irá substituir o arquivo em /system.xbin/su para resolver isso.
12. Faça Download do Superuser-3.1.3-arm-signed.zip onde tem o arquivo (su) que irá funcionar. Extraia ele na pasta onde o adb.exe está presente, na pasta do Adb Shell Tools.
13. Continuando no Adb Shell.
Remonte o acesso ao diretorio de acesso remoto:
adb remount
Acesso o Prompt remoto do dispositivo:
adb shell
Renomeie o arquivo 'su' original:
mv /system/xbin/su /system/xbin/su.old
Saia do prompt remoto:
exit
Dentro do diretorio onde esta o novo arquivo 'su' execute o comando abaixo para envia-lo para o dispositivo:
adb push su /system/xbin/su
Dê premissão de dono para o arquivo 'su':
adb shell chown 0.0 /system/xbin/su
Dê permissão de 775 para o arquivo 'su'
adb shell chmod 06755 /system/xbin/su
Reinicie o equipamento
adb reboot
14. Agora o dispositivo deverá estar rootado.
15. Não desligue a opção de "Permitir acesso Root" no aplicativo "Superuser". Isto pode causar problemas.
segunda-feira, 28 de novembro de 2011
Script VBS para sincronização de arquivos
Set objFSO = CreateObject("Scripting.FileSystemObject")Const objStartFolder = "R:" 'Declara a constante da pasta de origemConst DestinationFolder = "C:\Linx" 'Declara constante da pasta de destinoSet objFolder = objFSO.GetFolder(objStartFolder)Wscript.Echo Replace(objFolder.Path,objStartFolder,DestinationFolder)dim PastaDestinoPastaDestino = Replace(objFolder.Path,objStartFolder,DestinationFolder)If objFSO.FolderExists(PastaDestino) Then ' Verifica se o diretório a processar existe no destino'Caso exista, informa em um echoSet objFolderD = objFSO.GetFolder(PastaDestino)WScript.Echo "Verificando " & PastaDestinoElse'Caso não exista, cria e informa a criação em echoSet objFolderD = objFSO.CreateFolder(PastaDestino)WScript.Echo "Verificando " & PastaDestinoEnd IfSet colFiles = objFolder.FilesFor Each objFile in colFilesIf NOT objFSO.FileExists(PastaDestino & "\" & objFile.Name) Then 'Se não existir arquivos na pasta de destino e no nome do arquivo do objeto'Se o arquivo não existir no diretório de destino da cópia.objFile.Copy PastaDestino & "\"Wscript.Echo "Copiando: " & PastaDestino & "\" & objFile.NameElseIf objFile.DateLastModified > objFSO.GetFile(PastaDestino & "\" & objFile.Name).DateLastModified Then'Se o arquivo é mais recente que o arquivo de destino da cópia láobjFile.Copy PastaDestino & "\", TrueWscript.Echo "Copiando: " & PastaDestino & "\" & objFile.NameEnd IfEnd IfWscript.Echo PastaDestino & "\" & objFile.NameNextWscript.EchoShowSubfolders objFSO.GetFolder(objStartFolder)Sub ShowSubFolders(Folder)For Each Subfolder in Folder.SubFolders'Poderá incluir diretorios que não serão copiados.If InStr(Subfolder.Path,"\imagens") < 2 and InStr(Subfolder.Path,"\Words") < 2 and InStr(Subfolder.Path,"\PACOTE") < 2 and InStr(Subfolder.Path,"Report\outros") < 2 and InStr(Subfolder.Path,"\Linx_5.8") < 2 and InStr(Subfolder.Path,"\View") < 2 and InStr(Subfolder.Path,"\Logo") < 2 and InStr(Subfolder.Path,"\PROJETO ETIQUETAS PAULOLINX") < 2 Then'Se a pasta não é parte das pastas proibidas acima, ele libera a copia...Wscript.Echo Replace(Subfolder.Path,objStartFolder,DestinationFolder)Set objFolder = objFSO.GetFolder(Subfolder.Path)PastaDestino = Replace(objFolder.Path,objStartFolder,DestinationFolder)'---------------- Tratamento de pastasIf objFSO.FolderExists(PastaDestino) Then ' Verifica se o diretório a processar existe no destino'Caso exista, informa em um echoSet objFolderD = objFSO.GetFolder(PastaDestino)WScript.Echo "Verificando " & PastaDestinoElse'Caso não exista, cria e informa a criação em echoSet objFolderD = objFSO.CreateFolder(PastaDestino)WScript.Echo "Verificando " & PastaDestinoEnd If'---------------- /Tratamento de pastasSet colFiles = objFolder.FilesFor Each objFile in colFilesIf NOT objFSO.FileExists(PastaDestino & "\" & objFile.Name) Then 'Se não existir arquivos na pasta de destino e no nome do arquivo do objeto'Se o arquivo não existir no diretório de destino da cópia lá.objFile.Copy PastaDestino & "\"Wscript.Echo "Copiando: " & PastaDestino & "\" & objFile.NameElseIf objFile.DateLastModified > objFSO.GetFile(PastaDestino & "\" & objFile.Name).DateLastModified Then'Se o arquivo é mais recente que o arquivo de destino da cópia láobjFile.Copy PastaDestino & "\", TrueWscript.Echo "Copiando: " & PastaDestino & "\" & objFile.NameEnd IfEnd If'Wscript.Echo PastaDestino & "\" & objFile.Name'Wscript.Echo objFile.NameNextWscript.EchoShowSubFolders SubfolderEnd IfNextEnd SubWscript.Echo "O Linx foi sincronizado com o servidor"
quinta-feira, 28 de julho de 2011
Exemplo de Script Logon em VbScript para Active directory
on error resume next
'SINCRONIZA HORARIO ESTAÇÃO x SERVIDOR
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run "NET TIME \\pdcsrv01 /SET /Y", 0, True
'LIMPA UNIDADES DE REDE
Set WSHNetwork = WScript.CreateObject("WScript.Network")
on error resume next
WSHNetwork.RemoveNetworkDrive "G:", True, True
WSHNetwork.RemoveNetworkDrive "H:", True, True
WSHNetwork.RemoveNetworkDrive "I:", True, True
WSHNetwork.RemoveNetworkDrive "J:", True, True
WSHNetwork.RemoveNetworkDrive "K:", True, True
WSHNetwork.RemoveNetworkDrive "L:", True, True
WSHNetwork.RemoveNetworkDrive "M:", True, True
WSHNetwork.RemoveNetworkDrive "N:", True, True
WSHNetwork.RemoveNetworkDrive "O:", True, True
WSHNetwork.RemoveNetworkDrive "P:", True, True
WSHNetwork.RemoveNetworkDrive "Q:", True, True
WSHNetwork.RemoveNetworkDrive "R:", True, True
WSHNetwork.RemoveNetworkDrive "S:", True, True
WSHNetwork.RemoveNetworkDrive "T:", True, True
WSHNetwork.RemoveNetworkDrive "U:", True, True
WSHNetwork.RemoveNetworkDrive "V:", True, True
WSHNetwork.RemoveNetworkDrive "X:", True, True
WSHNetwork.RemoveNetworkDrive "Y:", True, True
WSHNetwork.RemoveNetworkDrive "w:", True, True
WSHNetwork.RemoveNetworkDrive "Z:", True, True
WScript.DisconnectObject WSHNetwork
'FIM DO LIMPA UNIDADES
Dim strComputername, strDomain, strUser, strIp, strLoc, wshshell
Set wshShell = CreateObject("WScript.Shell")
strComputername = wshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
strDomain = wshShell.ExpandEnvironmentStrings("%userdomain%")
strUser = wshShell.ExpandEnvironmentStrings("%USERNAME%")
'Wscript.Echo strUser
'CONECTA UNIDADES DE REDE
Set objNet = CreateObject("Wscript.Network")
'MAPEIA DIRETORIO PESSOAL
objNet.MapNetworkDrive "U:","\\stgsrv01\home_"&strUser & "$"
'MAPEIA DIRETORIO DO LINX
objNet.MapNetworkDrive "L:","\\appsrv04\l"
'MAPEIA DIRETORIO DO MODARIS E DIAMINO
objNet.MapNetworkDrive "Z:","\\stgsrv01\lectra"
'MAPEIA DIRETORIO DO INVESTRONICA
objNet.MapNetworkDrive "X:","\\sqlsrv02\x"
'MOSTRA O CAMINHO DO DIRETORIO PESSOAL
' WScript.Echo "U:","\\stgsrv01\home_"&strUser & "$"
'C:\Documents and Settings\ti01\Dados de aplicativos\Microsoft\Internet Explorer\Quick Launch
'C:\Users\marcelo.souza\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
'CRIA ICONE DO LINX NO DESKTOP
set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
set oUrlLink = WshShell.CreateShortcut(strDesktop & "\Visual Linx 8.lnk")
oUrlLink.TargetPath = "L:\Linx_sql\LINX\VisualLinx.exe"
oUrlLink.IconLocation = "L:\Linx_sql\LINX\VisualLinx.exe"
oUrlLink.Save
'CRIA ATALHO DO DIRETORIO PESSOAL NO DESKTOP
strAppPath = "U:\"
Set wshShell = CreateObject("WScript.Shell")
objDesktop = wshShell.SpecialFolders("Desktop")
set oShellLink = WshShell.CreateShortcut(objDesktop & "\Diretorio Pessoal.lnk")
oShellLink.TargetPath = strAppPath
oShellLink.WindowStyle = "1"
oShellLink.Description = "Diretorio Pessoal"
oShellLink.Save
'COPIA ICONE DO MODARIS NO DESKTOP
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set Wshs = WScript.CreateObject("WScript.Shell")
Const OverwriteExisting = true
usrProfile = Wshs.ExpandEnvironmentStrings("%UserProfile%")
objFSO.CopyFile "\\pdcsrv01\netlogon\Modaris Diamino Server.rdp" , usrProfile & "\Desktop\", OverwriteExisting
'ENVIA O COMANDO PARA APERTAR A TECLA F5 PARA ATUALIZAR OS ICONES NO DESKTOP
WshShell.SendKeys "{F5}"
'WScript.Quit
sexta-feira, 25 de março de 2011
Enviando email por linha de comando no linux com Mpack
Relatorio capturado do Browser e convertido para PDF com envio por email
Capturar a tela apresentada no Browser:
Para isso usamos o software chamado HTML2IMAGE que converter o html para png ou jpg, prosseguimos com as instruções para instalação logo abaixo:
Processo de Instalação
1. Faça o Download do html2image
wget http://www.guangmingsoft.net/htmlsnapshot/html2image.i386.tar.gz
2. Extraia o html2image:
tar xvzf html2image.i386.tar.gz
Acesse o diretorio:
cd html2image
Crie o Path para acesso a livraria:
export LD_LIBRARY_PATH=./
3. Rode o framebuffer Xvfb
Xvfb :1 -screen 0 640x480x24 -nolisten tcp -audit 4 -auth X1.cfg & export DISPLAY=:1
(O servidor X virtual framebuffer xvfb gera um servidor X que faz com que os aplicativos possam rodar em máquinas sem placa de vídeo e sem dispositivos físicos de entrada. Ele emula um framebuffer burro usando a memória virtual.)
4. Converta o html para imagem pelo comando abaixo:
./html2image www.google.com a.jpg
Shell Script para usar a ferramenta pela linha de comando:
#!/bin/bash
cd; cd /opt/html2image
ls
export LD_LIBRARY_PATH=./
#rm /tmp/.X1-lock
./Xvfb :1 -screen 0 1024x768x24 -nolisten tcp -audit 4 -auth X1.cfg & export DISPLAY=:1
./html2image $1 /home/siteroot/public_html/html2image/$2
echo “html 2 image Done!”
PHP script (html_2_image.php)
exec(“export LD_LIBRARY_PATH=/opt/”); // if html2image folder in /opt folder
// here html_2_image is above shell script
exec(“/opt/html_2_image www.yahoo.com yahoo.png”, $result, $returnValue);
?>
Execute o arquivo “html_2_image.php” com o crontab, a imagem será salva em “/home/siteroot /public_html/html2image/”.
quarta-feira, 19 de janeiro de 2011
Restaurar / Importar um backup dos dados do Spiceworks
O que eu preciso?
Você precisa ter a versão de backup de seus dados e db diretórios. Se você estiver usando o built-in Spiceworks Backup , então você vai precisar descompactar o arquivo de backup que você gostaria de usar. Descompactar o arquivo irá extrair os dados e db diretórios.
Passos para restaurar seus dados
* Botão direito do mouse na bandeja do sistema e selecione Sair (ou parar o serviço se estiver rodando como um serviço)
* Verifique se todos os processos e confirme se o Spiceworks não esta sendo usado
* Exclua as pastas dB e dados de diretórios na pasta da instalação Spiceworks
* Copie o db e dados de pastas na pasta de instalação Spiceworks
* Iniciar Spiceworks
Movendo sua instalação Spiceworks para um novo computador
Se você gostaria de mover Spiceworks de uma máquina para outra, os passos seguintes irão guiá-lo.
* Faça o download e execute o instalador Spiceworks na máquina de destino
* Importante: Use o diretório de instalação do mesmo e do porto, a instalação original
* Não completa o processo de registo
* Siga os passos acima para copiar os dados e db diretórios para a nova instalação
Referências
* Usando a funcionalidade de backup Spiceworks
* Como mover sua instalação Spiceworks
quarta-feira, 10 de novembro de 2010
Recuperar senha do admin Fortigate
2. Use o HyperTerminal para visualizar o console do Firewall (Certifique-se se aparece a tela de login para acessar o prompt)
3. Dê um Reboot no equipamento (Poderá desligar e ligar da tomada).
4. Enquanto o equipamento estiver rebootando aparecerá varias mensagens de “Status” também com o numero Serial, deverá terminar na tela de login.
5. Anote o numero de série do hardware.
Exemplo: FWF60B3908618344
Exemplo de Mensagens de log do Console do Fortigate
Ver:04000000
Serial number: FWF60B3908618344 <------ Anote este número Serial.
RAM activation
Total RAM: 256MB
Enabling cache…Done.
Scanning PCI bus…Done.
Allocating PCI resources…Done.
Enabling PCI resources…Done.
Zeroing IRQ settings…Done.
Verifying PIRQ tables…Done.
Disabling local APIC…Done.
Boot up, boot device capacity: 61MB.
Press any key to display configuration menu…
……
Reading boot image 1149913 bytes.
Initializing firewall…
System is started.
FORTIGATE100A login:
1. Na tela de Login insira o seguinte nome de usuário:
Login: maintainer
2. O password consiste das iniciais “bcpb” seguido do número serial do Hardware, Exemplo:
password: bcpb[número serial]
Exemplo: bcpbFWF60B3908618344
NOTA: Este procedimento deve ser feito dentro de 20 segundos contados após o Reboot do Fortigate. Depois dos 20 segundos o usuário “maintainer” será impossibilitado de realizar o login. Você deverá realizar novamente o procedimento de reboot para ter acesso dentro do intervalo de tempo.
Saída do Console Fortigate:
FORTIGATE100A login: maintainer
Password: ********************
Welcome !
FORTIGATE100A #
1. Insira os seguintes commandos, um por um (isto irá resetar a senha do usuário admin).
config system admin
edit admin
set password novasenha
end
Saída do Console Fortigate:
FORTIGATE100A # config system admin
FORTIGATE100A (admin) # edit admin
FORTIGATE100A (admin) # set password novasenha
FORTIGATE100A (admin) # end
FORTIGATE100A #
Configuração Básica FortiGate
Conecte o cabo Serial ao computador e ao Fortigate, Segure a tecla do Logotipo do Windows junto com a tecla R para abrir a caixa de diálogo Executar, dentro da caixa de diálogo digite o comando hypertrm.exe e tecle em OK.
Após abrir o Hyperterminal clique no menu "Arquivo" e em "Nova Conexão", selecione um icone e especifique um nome para conexão, pode ser "Fortigate", e clique em "OK".
Na Janela chamada "Conectar-se", selecione a porta de comunicação que está ligado o cabo de comunicação Serial e clique em "OK".
Na tela de "Propriedades de COM1" mude os "Bits por segundo" para 9600 e o "Controle de fluxo" para Nenhum e clique em "OK".
Se tudo correr bem você terá uma tela como essa abaixo, mas para aparecer o campo pedindo login você deverá teclar "Enter", digite login e senha e estará conectado pelo Terminal de administração.
Segue os comandos para configuração basica do Fortigate.
config system global
# Configure a porta 80/tcp para administração Http.
set admin-port 80
# Configure a porta 443/tcp para administração Https.
set admin-sport 443
# Configure a porta 22/tcp para a administração SSH.
set admin-ssh-port 22
# Configure a porta 23/tcp para a administração Telnet.
set admin-telnet-port 23
# Configure o nome do Host
set hostname “Fortigate 60B”
# Configure o servidor de Hora ntp para "time.ien.it" e habilite as configurações. #Poderá usar outro Servidor Ntp de sua preferência.
set ntpserver “time.ien.it”
set ntpsync enable# Configure para 43200 segundos o tempo de encerramento da conexão # tcp-halfclose timer
set tcp-halfclose-timer 43200
end# Configure a porta telnet 23/tcp para o timeout de 43200 segundos.
config system session-ttl
set default 43200
config port
edit 23
set timeout 43200
next
end# Configure o endereço IP e as opções para o acesso administrativo (ping https http) da interface "INTERNAL".
config system interface
edit “internal”
set ip 192.168.1.254 255.255.255.0
set allowaccess ping https http
set type physical
next# Configure o endereço IP e as opções para o acesso administrativo (ping https) da interface "INTERNAL".
# Habilite a "detecção do Gateway" e configure o destino do "Servidor de ping".
# Configure a velocidade da interface de rede para 10 Mb/s Half Duplex, isto é muito comum para conexões a radio.edit “wan1″
set ip 111.222.111.2 255.255.255.248
set allowaccess ping https
set gwdetect enable
set detectserver “111.222.111.123″
set type physical
set speed 10half
next
end#Configure as opçoes de DNS e servidores DNS.
config system dns
set primary 192.168.1.3
set secondary 212.97.32.2
set domain ”
set autosvr disable
set dns-cache-limit 5000
set cache-notfound-responses disable
end# Configure a politica de firewall e habilite o trafego da interface INTERNAL para WAN1 usando NAT
# Configure a proteção de perfil chamado "scan"config firewall policy
edit 1
set srcintf “internal”
set dstintf “wan1″
set srcaddr “all”
set dstaddr “all”
set action accept
set schedule “always”
set service “ANY”
set profile-status enable
set profile “scan”
set nat enable
next
end# Cofigure o gateway padrão na interface WAN1
config router static
edit 1
set device “wan1″
set gateway 111.222.111.2
end
segunda-feira, 8 de novembro de 2010
Trocar senha do administrador local remotamente
Como trocar senhas de administrador local em maquinas windows xp remotamente.
baixe o pstools do sysinternals ou da technet http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx
descompacte tudo em uma pasta
dentro desta pasta crie um .bat
dentro deste bat, insira as linhas conforme o nome das tuas maquinas
pspasswd \\nome-da-maquina Administrador senha
pspasswd \\nome-da-maquina Administrador senha
pspasswd \\nome-da-maquina Administrador senha
pspasswd \\nome-da-maquina Administrador senha
só isso..
claro, esse é o jeito mais moleza de fazer..
se quiser pode ser usado um wildcard pra todas as maquinas.. entao ficaria assim:
pspasswd \\* Administrador senha
mas eu sinceramente nao usaria isso.. a menos que fosse tudo padrao mesmo…
lembrando que o SEU usuário tem que ser domain admin.. caso nao for, vc pode colocar o comando da seguinte maneira:
pspasswd \\nome-da-maquina -u usuariodomainadmin -p senhadesseusuario Administrador senha
ainda poderia ser usado o comando:
pspasswd @file arquivo.txt Administrador senha
onde esse arquivo deveria conter o nome das maquinas… nao muito util pra mim..
cuidado para nao deixar em branco a senha do administrador local, pois ele aceita também…
Fonte: http://grupodicasms.wordpress.com/2008/10/28/trocar-senha-do-administrador-local-remotamente/
quinta-feira, 21 de janeiro de 2010
Acesso remoto via Virt-Manager Xen
root@suporte-desktop:~# ssh-keygen -t rsa
root@suporte-desktop:~# ssh-copy-id -i ~/.ssh/id_rsa.pub root@ip_da_maquina_remota
root@suporte-desktop:~# chkconfig libvirtd on
root@suporte-desktop:~# service libvirtd start
quarta-feira, 30 de dezembro de 2009
Sincronizar hora e data no Debian com servidor remoto.
Instale o pacote cliente de sincronia de hora e data "ntpdate":
servidor01:~# apt-get install ntpdate tz-brasil
Após a instalação dos pacotes, crie um script que de hora em hora para sincronizará com o servidor ntpdate.
servidor01:~# echo '#!/bin/sh' > /etc/cron.hourly/ntpdate
servidor01:~# echo 'ntpdate -u pool.ntp.org' >> /etc/cron.hourly/ntpdate
o arquivo ficará com o conteúdo abaixo, para confirmar digite o comando cat para exibir o conteúdo:
servidor01:~# cat /etc/cron.hourly/ntpdate
#!/bin/sh
ntpdate -u pool.ntp.org
Dê permissão para o sistema executar o script com o comando abaixo:
servidor01:~# chmod +x /etc/cron.hourly/ntpdate
Reinicie o serviço do Cron:
servidor01:~# /etc/init.d/cron restart
Pronto, agora de hora em hora ele sincroniza a hora com o servidor mantendo assim o horario exato.
Fim.
Configurar teclado abnt2 no Vmware Server Console 1.0.9
root@suporte:~# vim ~/.vmware/config
Copie o conteúdo abaixo e cole dentro do arquivo aberto:
p.keycode.108 = 0x138 # Alt_R
xkeymap.keycode.106 = 0x135 # KP_Divide
xkeymap.keycode.104 = 0x11c # KP_Enter
xkeymap.keycode.111 = 0x148 # Up
xkeymap.keycode.116 = 0x150 # Down
xkeymap.keycode.113 = 0x14b # Left
xkeymap.keycode.114 = 0x14d # Right
xkeymap.keycode.105 = 0x11d # Control_R
xkeymap.keycode.118 = 0x152 # Insert
xkeymap.keycode.119 = 0x153 # Delete
xkeymap.keycode.110 = 0x147 # Home
xkeymap.keycode.115 = 0x14f # End
xkeymap.keycode.112 = 0x149 # Prior
xkeymap.keycode.117 = 0x151 # Next
xkeymap.keycode.78 = 0x46 # Scroll_Lock
xkeymap.keycode.127 = 0x100 # Pause
xkeymap.keycode.133 = 0x15b # Meta_L
xkeymap.keycode.134 = 0x15c # Meta_R
xkeymap.keycode.135 = 0x15d # Menu
xkeymap.keycode.97 = 0x073 # Slash
Salve e saia do terminal "esc :wq" e abra o Vmware Console:
Feito.
terça-feira, 29 de dezembro de 2009
Migrando discos de Vmware Server para Xen
Geralmente a VM do Vmware-Server é criada com a opção "Split disk intio 2GB files", nesse caso o disco foi dividido em arquivos de 2GB, você deverá juntar os arquivos para que se tornem um unico arquivo de disco, siga a sintaxe abaixo:
vmware-vdiskmanager -r disco_de_origem.vmdk -t 2 disco_de_destino.vmdk
Usaremos a ferramenta de conversão de imagem do Qemu, caso não tenha instale com o comando abaixo:
apt-get install qemu
Agora um único arquivo de disco foi gerado, vamos converte-lo no formato RAW para o Xen reconhece-lo.
qemu-img convert disco_de_destino.vmdk -O raw disco_para_o_xen.img
Continua...
