#!/bin/bash
# JonMyBackup
# Script de Backup para MySQL
# 2009.11.26
# Modificado por Milton Caetano Filho 05/04/2011
# Adicionado função sendfiles para envio dos arquivos de backup remotamente entre dois servidores.
# OBS: É necessário chave RSA para conexao SSH entre os servidores sem PHRASE.
# - Efetua DUMP do banco MySQL em um arquivo .sql
# - Compacta em bzip2
# - Tira MD5Sum do arquivo, para checagem de integridade
# - Salva em pasta de backup com data e hora no filename.
# Data: Ano-Mes-Dia-Hora-Minuto-Segundo-Abreviação alfabética do fuso horário (por exemplo, BRT)
data=`date +%Y-%m-%d-%H-%M-%S-%Z`
# Variáveis de conexão
host="seuservidor"
user="seuusuario"
password="suasenha"
dbname="seubanco"
# Variáveis do script
backupdir="/bkp"
tmpdir="/tmp"
bz2file=$dbname-$data.tar.bz2
DUMP=$dbname.sql
md5file=$dbname-$data.md5
clear
dumpdb() {
# Checando se o diretório temporário existe. Se não, criando um.
if [ -e $tmpdir ]; then
echo 'DIRETORIO /TEMP OK'
else
echo 'CRIANDO DIRETORIO /TEMP'
mkdir $tmpdir
fi
# Executando DUMP
echo 'CRIANDO DUMP...'
/usr/bin/mysqldump --opt -h $host -u$user -p$password $dbname > $tmpdir/$DUMP
}
# Função para compactar o DUMP para tar.bz2, com a formatação correta da data no filename
bzip2compress() {
cd $tmpdir &&
echo 'COMPACTANDO DUMP...' &&
tar cjf $bz2file $DUMP &&
rm $DUMP
}
writemd5sum() {
echo 'CRIANDO MD5SUM...'
echo `md5sum $bz2file` > $md5file
}
moveFiles() {
# Checando se o diretório de Backup existe. Se não, criando um.
if [ -e $backupdir ]; then
echo 'DIRETORIO DE BACKUP OK'
else
echo 'CRIANDO DIRETORIO DE BACKUP'
mkdir $backupdir
fi
mv $tmpdir/$md5file $backupdir &&
mv $tmpdir/$bz2file $backupdir &&
echo 'REALIZADO BACKUP E ENVIADO PARA O DIRETORIO DE BACKUP!'
}
sendfiles() {
ping -q -c5 192.168.157.137 > /dev/null
if [ $? -eq 0 ]
then
scp $backupdir/* root@192.168.157.137:$backupdir
else
echo 'FALHA AO CONECTAR AO SERVIDOR REMOTO!'
sleep 2;
exit 1;
fi
}
main() {
dumpdb
bzip2compress
writemd5sum
moveFiles
sendfiles
}
main
Script original pode ser obitido em: Jonathas Rodrigues
terça-feira, 5 de abril de 2011
segunda-feira, 4 de abril de 2011
Registrando data e hora logon e logoff do usuário com script Vbscript
Option Explicit
Dim objFSO, objLogFile, objNetwork, objShell, strText, intAns, strComputer, objWMIService
Dim intConstants, intTimeout, strTitle, intCount, blnLog, IPconfigSet, Ipconfig, IP
Dim strUserName, strComputerName, strIP, strShare, strLogFile
Dim fso, sf, StrNew
Const ForAppending = 8
Set fso = CreateObject("Scripting.FileSystemObject")
strComputer = "."
strShare = "\\SeuServidor\SuaPastaCompartilhada\"
strLogFile = "logonoff.txt"
intTimeout = 20
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objNetwork = CreateObject("Wscript.Network")
Set objShell = CreateObject("Wscript.Shell")
Set IPConfigSet = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
strUserName = objNetwork.UserName
strComputerName = objNetwork.ComputerName
'For Each IPConfig in IPConfigSet
' If Not IsNull(IPConfig.IPAddress) Then
' For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
' IP = IPConfig.IPAddress(i)
' Next
' End If
'Next
If objFSO.FolderExists(strShare) Then
On Error Resume Next
Set objLogFile = objFSO.OpenTextFile(strShare & "\" & strLogFile, 8, True, 0)
If Err.Number = 0 Then
intCount = 1
blnLog = False
Do Until intCount = 3
objLogFile.WriteLine "Logon " & Now & " " & strComputerName & " " & strUserName '& " com o ip " & IP'
If Err.Number = 0 Then
intCount = 3
blnLog = True
Else
Err.Clear
intCount = intCount + 1
If Wscript.Version > 5 Then
Wscript.Sleep 200
End If
End If
Loop
' On Error GoTo 0
End If
End If
Dim fa, fb, f, s, OpSysSet, i
Set objFSO = Nothing
Set objNetwork = Nothing
Set objShell = Nothing
Wscript.Quit
Para capturar o logon salve o código acima com o nome logon.vbs e para logoff salve como logoff.vbs
Na máquina local clica no menu: iniciar > executar: Em seguida digite:
gpedit.msc
Logo após vá em configurações de usuário e selecione Script de Logon/Logoff
Ao lado direito irá aparecer dois campos Logon/Logoff clica com o botao direito vá em propriedades, em seguida selecione o script na pasta de Logon e Logon.
Onde SeuServidor\SuaPastaCompartilhada deve ser substituido por uma pasta na rede compartilhada ou local.
Obs: Altere a linha 44 referente A mensagem de gravação
para Logoff.
Dim objFSO, objLogFile, objNetwork, objShell, strText, intAns, strComputer, objWMIService
Dim intConstants, intTimeout, strTitle, intCount, blnLog, IPconfigSet, Ipconfig, IP
Dim strUserName, strComputerName, strIP, strShare, strLogFile
Dim fso, sf, StrNew
Const ForAppending = 8
Set fso = CreateObject("Scripting.FileSystemObject")
strComputer = "."
strShare = "\\SeuServidor\SuaPastaCompartilhada\"
strLogFile = "logonoff.txt"
intTimeout = 20
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objNetwork = CreateObject("Wscript.Network")
Set objShell = CreateObject("Wscript.Shell")
Set IPConfigSet = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
strUserName = objNetwork.UserName
strComputerName = objNetwork.ComputerName
'For Each IPConfig in IPConfigSet
' If Not IsNull(IPConfig.IPAddress) Then
' For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
' IP = IPConfig.IPAddress(i)
' Next
' End If
'Next
If objFSO.FolderExists(strShare) Then
On Error Resume Next
Set objLogFile = objFSO.OpenTextFile(strShare & "\" & strLogFile, 8, True, 0)
If Err.Number = 0 Then
intCount = 1
blnLog = False
Do Until intCount = 3
objLogFile.WriteLine "Logon " & Now & " " & strComputerName & " " & strUserName '& " com o ip " & IP'
If Err.Number = 0 Then
intCount = 3
blnLog = True
Else
Err.Clear
intCount = intCount + 1
If Wscript.Version > 5 Then
Wscript.Sleep 200
End If
End If
Loop
' On Error GoTo 0
End If
End If
Dim fa, fb, f, s, OpSysSet, i
Set objFSO = Nothing
Set objNetwork = Nothing
Set objShell = Nothing
Wscript.Quit
Para capturar o logon salve o código acima com o nome logon.vbs e para logoff salve como logoff.vbs
Na máquina local clica no menu: iniciar > executar: Em seguida digite:
gpedit.msc
Logo após vá em configurações de usuário e selecione Script de Logon/Logoff
Ao lado direito irá aparecer dois campos Logon/Logoff clica com o botao direito vá em propriedades, em seguida selecione o script na pasta de Logon e Logon.
Onde SeuServidor\SuaPastaCompartilhada deve ser substituido por uma pasta na rede compartilhada ou local.
Obs: Altere a linha 44 referente A mensagem de gravação
para Logoff.
Assinar:
Postagens (Atom)
Já aconteceu de você clicar no meu (Iniciar/Desligar) e o computador não ser desligado, pelo fato de o Windows ficar perguntando se você des...
-
Este exemplo a conta admin para abrir o Notepad Para maiores informações consulte a sintaxe do comando runas "runas ?" Option e...
-
Monitorando servidores e estações Windows com servidor Linux usando MRTG. Clique aqui