jeudi 14 mars 2013

SAUVEGARDE D'UN SYSTÈME REDHAT/LINUX/FEDORA...


Introduction
La commande dd permet de copier tout ou partie d'un disque par blocs d'octets, indépendamment de la structure du contenu du disque en fichiers et en répertoires.
Contrairement à la copie avec la commande cp ou la copie avec la commande tar, la copie avec dd permet de reproduire des zones de disque qui ne font pas partie d'un système de fichier : secteur de démarrage (le MBR), tables de partition, traces laissées sur le disque par des fichiers effacés etc. L'un de ses emplois les plus importants est donc la création d'une copie de sauvegarde exacte de votre partition système et sa récupération, par l'entremise d'un live-CD ou live-DVD en cas de pépin.
D'autres fonctions que la copie au sens strict, un peu «spéciales» mais parfois utiles, sont également rendues disponibles grâce à dd.


Attention, la commande dd permet de faire beaucoup de choses intéressantes, mais elle peut aussi être dangereuse, soyez prudent en l'utilisant : une manœuvre hâtive pourrait rendre votre système inutilisable !


Création d'une image compressée :

-Dans une console en tant que "root".
#dd if=/dev/sda conv=notrunc,noerror bs=4096 | gzip -c  > /backup/test`date +%Y-%m-%d-%H-%M`.iso.gz
-Cette commande se lance avec le système en fonctionnement, aucun arrêt de service, pas de perturbation sur le système. On peut aussi le faire via un LiveCD, mais le but est justement de pouvoir faire une sauvegarde sans l'arrêt du serveur.
-Cette commande va demander la copie entière du HDD nommé sous sda, incluant toutes ses partitions, exemple sda1, sda2.... dans un fichier compressé, et sous le format ISO. Le tout dans le répertoire de destination choisi. Attention d'avoir assez d'espace disque, sinon, faire la sauvegarde vers un autre emplacement (NAS,USB,...)
-A la fin de l'exécution, vous aurez un fichier bien compressé, pour exemple, la sauvegarde d'un serveur redhat 6.4 avec base de donnée oracle sur un HDD de 600Go, avec 550Go d'espace occupé tient dans un fichier compressé de 89Go !!!

Restauration d'une partition à partir de son img.gz :
-Si il est nécessaire de restaurer un serveur, suite à une défaillance, ou autre, nous devons dans un premier temps démarrer sur un système LINUX afin de restaurer l'image ISO.
-Pour ce faire, on doit démarrer sur un LiveCD, j'ai choisi KNOPPIX, mais libre à vous d'en prendre un autre, il n'y a pas d'impératif spécifique ! (Pour DL KNOPPIX: ICI)

-On ouvre une console en tant que "root". (Dans KNOPPIX, la console s'ouvre en tant que USER, on tape $su pour passer en "root", aucun mot de passe ne sera demandé dans cette distribution)
-On exécute la commande suivante, je passe l'explication pour savoir ou trouver votre fichier de restauration.
#gunzip -c /backup/test.iso.gz | dd of=/dev/sda conv=notrunc,noerror bs=4096
-Cette commande va demander de décompresser le fichier ISO, et de le copier sur le disque sur sda, ce qui va recréer toutes les partitions sda1, sda2... d'origine de la sauvegarde.
-Une fois terminé, le système va redémarre comme le jour de la sauvegarde.

-Il est possible de remonter la sauvegarde sur une machine virtuelle, j'ai utilisé Virtual-box sur SEVEN pour mes essais, on peut ainsi récupérer des fichiers, des scripts, etc au besoin. (attention de régler l'interface réseau sur désactivée pour ne pas créer de problème de double service !)

MONTAGE D'UN RÉPERTOIRE NAS SYSTÈME REDHAT 5.x 6.x

  -Dans un terminal en tant que "root"
  -Création d'un répertoire pour le montage du NAS:

#mkdir backup
   -Monter le NAS dans ce répertoire:
#mount.cifs  //nas01/BACKUP/TEST /backup
                                               ou
 #mount.cifs  //192.168.0.1/BACKUP/TEST /backup
nas01= correspond au nom DNS du NAS, on peut aussi renseigner l'adresse IP à la place.
/BACKUP/TEST=correspond au répertoire dans le NAS
/backup=correspond au répertoire créé avant.

Un mot de passe d'accès peut vous être demandé en fonction du réglage de sécurité du répertoire du NAS !
si message d'erreur indiquant que mount.cifs n'existe pas alors:
#yum install cifs-utils
  -Naviger dans le répertoire /backup:
#cd backup
#ls -la
PS=Si le répertoire TEST ne contient aucun fichier, il est normal qu'aucun fichier ne soit listé. Si c'est le cas, vous pouvez créer un fichier texte dans le répertoire TEST sur le NAS, et recommencer le ls -la, vous devriez voir apparaître le fichier texte. Si ce n'est pas le cas, le montage n'a pas fonctionné !


 

lundi 11 mars 2013

OUTILS POUR TESTER LES SERVEURS DE MAIL

Voici quelques sites qui peuvent vous aider pour tester vos serveurs de mails.
Notamment pour vérifier vos reverse DNS et la fiabilite de vos serveurs Exchange.

http://www.mxtoolbox.com

http://legacy.zoneedit.com/smtp.html




Via Telnet :

Telnet mail_server_smtp@domain.com 25

<220 ...... Service ready at Tue, 26 Mar 2013 15:17:56 +0100
> HELO nom_serveur_mail_envoi@domain.com
< 250 ...... Hello [000.000.000.000]
> MAIL FROM:<sender@domain.com>
< 250 2.1.0 Sender OK
> RCPT TO:<receiver@domain.com>
< 250 2.1.5 Recipient OK
> DATA
< 354 Start mail input; end with <CRLF>.<CRLF>
> From: sender@domain.com
> To: receiver@domain.com
> Subject: SMTP TEST
>
> La réception de ce message indique que le service smtp de mail_server_smtp@domain.com fonctionne
> .
< 250 2.6.0 <.........> Queued mail for delivery



Décryptage :
mail_server_smtp@domain.com = nom du serveur mail que vous désirez tester
nom_serveur_mail_envoi@domain.com = nom du serveur mail qui est sensé envoyer le mail

< = Lignes de réponse du serveur mail testé
> = Lignes que vous saisissez

sender@domain.com = adresse mail de l'expéditeur
receiver@domain.com = adresse mail du destinataire

vendredi 8 mars 2013

WINDOWS 7, WINDOWS 8, WINDOWS VISTA, Lenteurs lors de la copie de fichiers sur le réseau

Vous constatez une lenteur lors de l'accès ou la copie de fichiers à travers votre réseau, notamment depuis un poste avec une version Windows Récente qui tente de récupérer des informations sur un Windows Server 2003.

Vous pouvez appliquer ces opérations afin d'augmenter les performances :

1) Désactivez le protocole IPv6 sur vos cartes réseaux / wifi si celui ci n'est pas utilisé dans votre infrastructure

2) Dans le panneau de configuration
. Centre de réseau et partage
. Modifier les paramètres de partage avancés
. Connexions de partage de fichier
. cocher Activer le partage de fichiers pour les périphériques qui utilisent le chiffrement de 40 ou 50 Bits

3) En ligne de commande (exécution en tant qu'Administrateur), tapez les commandes suivantes :
. netsh interface tcp set global autotuninglevel=disable
netsh int tcp set heuristics disabled


jeudi 21 février 2013

VIRTUALBOX sous LINUX : démarrage automatique des VMs

VirtualBox démarrage automatique VM Centos Fedora RedHat

Le principe est de faire démarrer de façon automatique au démarrage de l'OS les VM enregistrées dans VirtualBOX.
Créer un fichier de configuration pour le script du service vboxcontrol
# mkdir /etc/virtualbox # touch /etc/virtualbox/machines_enabled

Dans le fichier "machines_enabled" situé dans "/ etc / virtualbox" nous allons indiquer le nom des VMs que nous voulons contrôler.

Pour obtenir la liste des noms actuels de vos machine virtuelle, exécutez la commande suivante et notez le nom est dans " ":




$ VBoxManage list vms "Centos_HDLES_x86_1" {5087b02a-5816-4c76-b302-c13175623023} "Centos_HDLES_x86_3" {bcae660a-f627-46d6-8c95-9da97363eeea} "Centos_HDLES_LAMP" {3907173c-cc15-4820-a930-f0bb3c13cb7e}

Ajouter les VMs à la liste "machines_enabled» avec le nom de VM par ligne


# vi /etc/virtualbox/machines_enabled Centos_HDLES_x86_1 Centos_HDLES_x86_3 Centos_HDLES_LAMP

Ajouter le script service VM VirtualBOX
Créer un nouveau fichier init.d script de service et de donner les droits d'exécution

# touch /etc/init.d/vboxcontrol
# chmod 755 /etc/init.d/vboxcontrol


Editer le fichier de service vboxcontrol:

#vim /etc/init.d/vboxcontrol


Et copiez le code suivant dans le fichier "/ etc / init.d / vboxcontrol"




#! /bin/sh
# vboxcontrol   Startup script for VirtualBox Virtual Machines
#
# chkconfig: 345 98 02
# description: Manages VirtualBox VMs
# processname: vboxcontrol
#
# pidfile: /var/run/vboxcontrol/vboxcontrol.pid
#
### BEGIN INIT INFO
#
### END INIT INFO
#
# Version 20090301 by Kevin Swanson <kswan.info> based on:
# Version 2008051100 by Jochem Kossen <jochem.kossen@gmail.com>
# http://farfewertoes.com
#
# Released in the public domain
#
# This file came with a README file containing the instructions on how
# to use this script.
#

# Source function library.
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 1
fi

################################################################################
# INITIAL CONFIGURATION
VBOXDIR="/etc/virtualbox"
VM_USER="root"
USE_NAT="no"

export PATH="${PATH:+$PATH:}/bin:/usr/bin:/usr/sbin:/sbin"

if [ -f $VBOXDIR/config ]; then
. $VBOXDIR/config
fi

SU="su $VM_USER -c"
VBOXMANAGE="VBoxManage -nologo"

################################################################################
# FUNCTIONS

# Determine if USE_NAT is set to "yes"
use_nat() {
if [ "$USE_NAT" = "yes" ]; then
return `true`
else
return `false`
fi
}

log_failure_msg() {
echo $1
}

log_action_msg() {
echo $1
}

# Check for running machines every few seconds; return when all machines are
# down
wait_for_closing_machines() {
RUNNING_MACHINES=`$SU "$VBOXMANAGE list runningvms" | wc -l`
if [ $RUNNING_MACHINES != 0 ]; then
sleep 5
wait_for_closing_machines
fi
}

################################################################################
# RUN
case "$1" in
start)
if [ -f /etc/virtualbox/machines_enabled ]; then

cat /etc/virtualbox/machines_enabled | while read VM; do
log_action_msg "Starting VM: $VM ..."
$SU "$VBOXMANAGE startvm "$VM" -type vrdp"
RETVAL=$?
done
touch /var/lock/subsys/vboxcontrol
fi
;;
stop)
# NOTE: this stops all running VM's. Not just the ones listed in the
# config
$SU "$VBOXMANAGE list runningvms" | while read VM; do
log_action_msg "Shutting down VM: $VM ..."
$SU "$VBOXMANAGE controlvm "$VM" acpipowerbutton"
done
rm -f /var/lock/subsys/vboxcontrol
wait_for_closing_machines

;;
start-vm)
log_action_msg "Starting VM: $2 ..."
$SU "$VBOXMANAGE startvm "$2" -type vrdp"
;;
stop-vm)
log_action_msg "Stopping VM: $2 ..."
$SU "$VBOXMANAGE controlvm "$2" acpipowerbutton"
;;
poweroff-vm)
log_action_msg "Powering off VM: $2 ..."
$SU "$VBOXMANAGE controlvm "$2" poweroff"
;;
status)
echo "The following virtual machines are currently running:"
$SU "$VBOXMANAGE list runningvms" | while read VM; do
echo -n "$VM ("
echo -n `$SU "VBoxManage showvminfo ${VM%% *}|grep Name:|sed -e 's/^Name:s*//g'"`
echo ')'
done
;;
*)
echo "Usage: $0 {start|stop|status|start-vm <VM
name>|stop-vm <VM name>|poweroff-vm <VM name>}"
exit 3
esac

exit 0

Ajouter le service vboxcontrol au registre avec chkconfig:


# chkconfig --add vboxcontrol


Créer des liens symboliques pour les niveaux d'exécution et d'activer le service vboxcontrol

# chkconfig vboxcontrol on


Comment utiliser vboxcontrol pour le contrôler via le terminal en tant que service:
Demarrer toutes les machines viruelles listées dans le fichier "machines_enabled":

# service vboxcontrol start
Si on obtient ce message à l'exécution de cette commande:
# service vboxcontrol start
Starting VM: VM1 ...
Waiting for VM "VM1" to power on...
VBoxManage: error: This VM was configured to use 3D acceleration. However, the 3D support of the host is not working properly and the VM cannot be started. To fix this problem, either fix the host 3D support (update the host graphics driver?) or disable 3D acceleration in the VM settings (VERR_NOT_AVAILABLE)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component Console, interface IConsole

 il faut désactiver l'option d'affichage 3D dans le logiciel VirtualBOX pour la/les VMs:



Arrêter toutes les machines virtuelles en cours d'exécution:

# service vboxcontrol stop


Voir le status des machines virtuelles:

# service vboxcontrol status


Démarrer une machine virtuelle en particulier:

# service vboxcontrol start-vm <VM NAME>


Arrêter une machine virtuelle en particulier;

# service vboxcontrol stop-vm <VM-NAME>


Envoyer un signal d'arrêt sur une machine virtuelle (mise hors tension immédiate)

# service vboxcontrol poweroff-vm <VM-NAME>


PS: si on veut supprimer la demande de mot de passe au démarrage de la VM pour que le démarrage en mode graphique se fasse sans intervention:

Il faut modifier le fichier suivant:

#vim /etc/gdm/custom.conf


ajouter les lignes suivantes dedant:
[daemon]
 AutomaticLoginEnable=true
 AutomaticLogin=username
<--le user qui va être configuré pour démarrer en auto biensur !!




jeudi 14 février 2013

ORACLE - Commandes SQL utiles - Common SQL scripts


Liste des connexions actives :
Active Connections list

select userid, max(nvl(logoff$time, sysdate)) last_logoff from sys.aud$ group by userid; 



Liste des sessions actives :
Active Sessions list


select
       substr(a.spid,1,9) pid,
       substr(b.sid,1,5) sid,
       substr(b.serial#,1,5) ser#,
       substr(b.machine,1,20) box,
       substr(b.username,1,10) username,
--       b.server,
       substr(b.osuser,1,8) os_user,
       substr(b.program,1,30) program
from v$session b, v$process a
where
b.paddr = a.addr
and type='USER'
order by spid; 


Liste des users créés sur une instance
Instance users list

select USERNAME,CREATED
from DBA_USERS
where ACCOUNT_STATUS = 'OPEN'
and USERNAME NOT IN ('SYS','SYSTEM','SYSMAN','DBSNMP','MGMT_VIEW')
order by USERNAME;


Information concernant l'instance :
Instance infos

SELECT NAME,PLATFORM_NAME,DB_UNIQUE_NAME  FROM V$DATABASE


Version d'ORACLE :
Oracle Version

select * from v$version;


Création d'un répertoire de base de données
Database folder creation

Ceci peut être utile par exemple pour créer un autre répertoire que celui par défaut du DATA_PUMP_DIR


SQL> CREATE DIRECTORY dmpdir AS '/opt/oracle';

Directory created.

SQL> GRANT read, write ON DIRECTORY dmpdir TO scott;

Grant succeeded.


Lister les répertoires 

select * from dba_directories;

Taille d'un schéma (User) en Mo
Mo Used for a schema (User)

select  a.owner username, round(sum(a.bytes)/1024/1024,2) "Taille (Mo)" from dba_segments a, (select tablespace_name, sum(bytes) total_space from dba_data_files group by tablespace_name) b where a.tablespace_name not in ('SYSAUX', 'SYSTEM', 'UNDOTBS1', 'UNDOTBS2') and a.tablespace_name = b.tablespace_name and a.owner='Mon_User' group by a.tablespace_name, a.owner, b.total_space/1024/1024



Ajouter un champ à une table :
Add a Table Column

ALTER TABLE [ schema. ]table ADD { ( column [ datatype ] ) } ;


exemple :
ALTER TABLE MATABLE ADD (MONCHAMP NUMBER(15,2));


Connaitre le nom du champ et de la table sur lesquels une contrainte est définie
Constraint : Table and column name referent


select * from ALL_CONS_COLUMNS where CONSTRAINT_NAME like '......%'


Connaitre le Paramétrage du Character Set de l'Instance :

SELECT value$ FROM sys.props$ WHERE name = 'NLS_CHARACTERSET' ;

Bonnes pratiques pour créer les TABLESPACES :

CREATE DIRECTORY DUMPS_MOI AS 'I:\DUMPS_MOI';
GRANT read, write ON DIRECTORY DUMPS_MOI TO system;


CREATE TABLESPACE V9_DATA DATAFILE 
  'I:\oracle\PERF11R2\V9_DATA1.DBF' SIZE 33554416K AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED,
  'I:\oracle\PERF11R2\V9_DATA2.DBF' SIZE 33554416K AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED,
  'I:\oracle\PERF11R2\V9_DATA3.DBF' SIZE 10240M AUTOEXTEND OFF
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;

CREATE TEMPORARY TABLESPACE V9_TEMPORAIRE TEMPFILE 
  'I:\oracle\PERF11R2\V9_TEMPORAIRE' SIZE 228M AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
TABLESPACE GROUP ''
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

CREATE UNDO TABLESPACE V9_ROLLBACK DATAFILE 
  'I:\oracle\PERF11R2\V9_ROLLBACK' SIZE 360M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
ONLINE
RETENTION NOGUARANTEE
BLOCKSIZE 8K

FLASHBACK ON;









lundi 11 février 2013

Monter un Disque NTFS USB sur RedHat 5.x et 6.x en mode graphique.


-Installer le repository EPEL sur le serveur:
  >Ouvrir une console Terminal
$ cd /tmp
# rpm -ivh epel-release-6-8.noarch.rpm
-Installer le process NTFS:
  >Se logger en root
# yum install ntfs-3g

Une fois l'installation terminée, votre lecteur externe USB doit être disponible.
Si besoin, redémarrer le serveur.