Définir les types de variables

Talend permet de définir les tailles par défaut des variables Java. Pour configurer cela, cliquez sur le menu « Fenêtre > Préférences ». Dans cette fenêtre développez l’arborescence en cliquant successivement sur « Talend > Specific Settings > Default type and Length ».

Vous pouvez ainsi définir les longueurs par défaut du type String à une taille de 300.

Maintenant que vous avez défini les types et les longueurs des variables, cliquez sur « Metadata of TalendType » pour définir les relations types base de données / variables Java. Car par exemple, Talend va charger les données de type NUMBER (pour une base de données Oracle) dans une variable de type BigDecimal, alors que vous souhaitez plutôt que le type NUMBER soit mapper avec un type Integer Java (plus maniable).

Dans cette fenêtre, vous pouvez voir une liste de fichiers XML qui mappent les types « base de données » avec les types Java.

Par exemple, on va modifier le mapping NUMBER -> BigDecimal d’une base de données Oracle pour obtenir NUMBER -> Integer

Double cliquez sur le fichier mapping_Oracle.xml et recherchez la section suivante :

<talendType type="id_BigDecimal"> <dbType type="DEC" default="true"/> <dbType type="DECIMAL"/> <dbType type="NUMERIC"/> <dbType type="NUMBER"/> </talendType>

Coupez la ligne :

et collez-là dans la section :
Repérez enfin la section :
et changez la valeur du paramètre type par id_Integer.
Maintenant les valeurs de type NUMBER seront exportées/importées en Integer dans Talend à la place du type BigDecimal.

et collez-là dans la section :


Repérez enfin la section :


et changez la valeur du paramètre type par id_Integer.

Maintenant les valeurs de type NUMBER seront exportées/importées en Integer dans Talend à la place du type BigDecimal.

Lancer Python sans invite de commande.

Est-il possible de lancer un programme python sans avoir l’invite de
commande qui apparaît sous MS-Windows ?

Oui, il faut que l’extension du fichier lancé soit « pyw », ce qui revient a utiliser pythonw.exe plutôt que python.exe pour exécuter le script. C’est la même chose sauf que ça n’ouvre pas de fenêtre de console.

Vérifier l’espace disque

# Script calculant la memoire libre de chaque disque logique

#création de l’instance de l’objet WMI
$elements = get-WmiObject Win32_LogicalDisk

espace_disque.ps1

$taille_totale = 0 # initialisation de la variable

# boucle pour parcourir tous les disques
foreach ( $disque in $elements ) {
$taillefree = $disque.size / (1024*1024*1024)
$taillefree = [math]::round($taillefree, 1)

if ($taillefree -ne 0 )
{# calul de la taille en Giga octet
$nom=$disque.Name
$taille = $disque.freespace / (1024*1024*1024)
$taille = [math]::round($taille, 1) # Arrondi la taille à 1 décimale
$taille_totale = $taille_totale + $taille
write-host « Le disque :$nom a $taille Go de disponible sur $taillefree Go »
}
}

write-host « Taille disponible cumulée = $taille_totale Go »

Memo Questions – Reponses

1 Comment lister tous les cmdlets ?
Get-Command

2 Comment obtenir de l’aide sur l’aide ?
Get-help Get-help

3 omment obtenir l’aide détaillée du cmdlet Write-Debug ?
Get-Help Write-Debug -Det

4 Quelle est la liste des paramètres courant, utilisable sur la plupart des cmdlets ?
ErrorVariable, Debug ,WarningAction, WarningVariable, Verbose, ErrorAction, OutVariable, OutBuffer.

5 A quel cmdlet correspond l’alias Dir ?
Get-ChildItem

6 Quel est l’usage de Foreach-Object ?
Il exécute un traitement utilisateur pour chaque objet du pipeline.

7 Comment peut-on créer un alias ?
A l’aide de Set-Alias.

8 Que contient la variable $Objet après l’exécution des instructions suivantes ?
$Objet=Get-Command Foreach Un objet de type AliasInfo détaillant l’alias Foreach.

9 Comment afficher les membres statiques de la classe DateTime?
Get-Member -Inputobject [DateTime] -static

10 Que fait la ligne suivante ?
Get-Command -verb Write* Elle liste tous les cmdlets dont le verbe commence par Write.

11 Certains des verbes de la liste suivante sont réservés, car utilisé par le langage PowerShell, lesquels ?
Enable,Format,Grant,Group,Install,Protect,Register,Set,Test,Tee,Use,Wait. Format,Group,Tee

12 Des verbes suivants, lequel est autorisé par la convention de nommage de PowerShell, préconisé par Microsoft, pour rechercher une ressource ?
Read, Open, Cat, Get, Dir, Find Get

13 Quel est le rôle des cmdlets *-Item ?
Il s’agit de cmdlets effectuant des opérations sur les données de provider.

14 Quelle variable PowerShell peut modifier le comportement de Write-Debug ?
$DebugPreference.

15 Quelle différence y a-t-il entre Write-Output et Write-Host ?
Write-Output écrit sur la sortie standard, écran ou pipeline.

16 Quel cmdlet utiliser pour tester l’existence d’une variable ?
Test-Path

17 Quel est l’usage des cmdlets Out-* ?
Il s’agit pour la plupart de cmdlet spécialisé envoyant des données en dehors de l’environnement de PowerShell.

18 Comment lire le contenu d’un fichier ?
En utilisant Get-Content

19 Comment ajouter un nouveau cmdlet compilé ?
Avec InstallUtil.exe

20 Comment obtenir la liste des providers ?
A l’aide de Get-PSProvider

Question 1 Comment lister tous les cmdlets ? Get-Command
Question 2 Comment obtenir de l’aide sur l’aide ? Get-help Get-help
Question 3 Comment obtenir l’aide détaillée du cmdlet Write-Debug ? Get-Help Write-Debug -Det
Question 4 Quelle est la liste des paramètres courant, utilisable sur la plupart des cmdlets ? ErrorVariable, Debug ,WarningAction, WarningVariable, Verbose, ErrorAction, OutVariable, OutBuffer.
Question 5 A quel cmdlet correspond l’alias Dir ? Get-ChildItem
Question 6 Quel est l’usage de Foreach-Object ? Il exécute un traitement utilisateur pour chaque objet du pipeline.
Question 7 Comment peut-on créer un alias ? A l’aide de Set-Alias.
Question 8 Que contient la variable $Objet après l’exécution des instructions suivantes ? $Objet=Get-Command Foreach Un objet de type AliasInfo détaillant l’alias Foreach.
Question 9 Comment afficher les membres statiques de la classe DateTime? Get-Member -Inputobject [DateTime] -static
Question 10 Que fait la ligne suivante ? Get-Command -verb Write* Elle liste tous les cmdlets dont le verbe commence par Write.
Question 11 Certains des verbes de la liste suivante sont réservés, car utilisé par le langage PowerShell, lesquels ? Enable,Format,Grant,Group,Install,Protect,Register,Set,Test,Tee,Use,Wait. Format,Group,Tee
Question 12 Des verbes suivants, lequel est autorisé par la convention de nommage de PowerShell, préconisé par Microsoft, pour rechercher une ressource ? Read, Open, Cat, Get, Dir, Find Get
Question 13 Quel est le rôle des cmdlets *-Item ? Il s’agit de cmdlets effectuant des opérations sur les données de provider.
Question 14 Quelle variable PowerShell peut modifier le comportement de Write-Debug ? $DebugPreference.
Question 15 Quelle différence y a-t-il entre Write-Output et Write-Host ? Write-Output écrit sur la sortie standard, écran ou pipeline.
Question 16 Quel cmdlet utiliser pour tester l’existence d’une variable ? Test-Path
Question 17 Quel est l’usage des cmdlets Out-* ? Il s’agit pour la plupart de cmdlet spécialisé envoyant des données en dehors de l’environnement de PowerShell.
Question 18 Comment lire le contenu d’un fichier ? En utilisant Get-Content
Question 19 Comment ajouter un nouveau cmdlet compilé ? Avec InstallUtil.exe
Question 20 Comment obtenir la liste des providers ? A l’aide de Get-PSProvider

Envoyer un mail

envoi_mail.ps1

$emailFrom = « Progicielinformatique@faiveleytransport.com »
$emailTo = « eric.fougere@faiveleytransport.com »
$subject = « test email 3eme essai »
$body = « This is my automated email,`n This is line number 2 »
$smtpServer = « smtp-relay.ft.grp »
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($emailFrom, $emailTo, $subject, $body)

SQLPlus fichier CSV

Options de formatage des résultats

Ici se trouve une présentation très détaillée.

1. Largeur des colonnes

Un formatage élémentaire consiste à donner une largeur aux colonnes, comme ceci :
set recsep off (pour éviter qu’il n’y ait quelque chose entre chaque ligne, le quelque chose étant défini par la variable recsepchar)
column format a20 (la colonne aura 20 caractères de large)
puis entrer la requête.

nom_de_colonne est égal au nom des champs qu’on sélectionne.
Quel est l’équivalent du AS sur sql server ?
Réponse : c’est la commande column heading
Par exemple : column doris_key heading exemplaire

2. Largeur des lignes

La commande set linesize permet de limiter la largeur de la page.

Attention, il faut que la somme des largeurs de colonnes n’excède pas la largeur de la ligne ! Sinon, sqlplus reprend son formatage par défaut.

Où se trouve le fichier de formatage par défaut ?
Réponse : en tapant la commande show all, on a tout le formatage par défaut.
On peut sauvegarder tous ces paramètres dans un fichier en envoyant la commande store set
Voici le contenu de ce fichier.
Au démarrage, sqlplus lit le contenu du fichier glogin.sql.
Voici le contenu de ce fichier.
Ce fichier est dans : oraclev8:app:oracle:product:8.1.7:sqlplus:admin

Si on veut conserver un paramétrage pour toutes les futures utilisations de sqlplus, il faut les enregistrer dans un fichier login.sql placé dans le répertoire de base : à essayer.

3. Longueur des pages

La commande set pagesize permet de préciser tous les combiens de lignes va revenir le titre des colonnes. Dans le paramétrage par défaut, cette variable est à 14, c’est pour ça que les noms des colonnes reviennent si souvent !
Pour supprimer tout retour des titres de colonnes, taper set pagesize 0

Formatage pour csv

1. Enregistrer les options de formatage dans un fichier externe qu’on appellera avec @. Voici par exemple le contenu d’un fichier csv.sql :

set LIN 1000
set HEADING OFF
set TRIMSPOOL ON
set PAGESIZE 0
set EMBEDDED OFF
set HEADS OFF
set NEWP NONE
set ECHO OFF
set FEEDBACK OFF
set SPACE 0
set COLSEP " "
set TAB OFF

2. Avant de lancer la requête, faire spool .csv (pas besoin d’indiquer tout le chemin si on lance sqlplus dans le même répertoire où l’on veut envoyer le fichier).

3. Appeler le fichier de formatage : @csv.sql

4. Taper la requête en faisant une concaténation des colonnes comme ceci :
select col1||’;’||col2 from

5. Taper spool off

Signification des réglages :
TRIMSPOOL ON : suppression des espaces en fin de ligne
TAB OFF : non utilisation des tabulations
EMBEDDED OFF : pas de contrôle sur l’endroit de la page où doit commencer le rapport
HEADING OFF : en-tête du résultat (= nom des colonnes)

Epoch

http://www.epochconverter.com/

What is epoch time?

The Unix epoch (or Unix time or POSIX time or Unix timestamp) is the number of seconds that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap seconds (in ISO 8601: 1970-01-01T00:00:00Z). Literally speaking the epoch is Unix time 0 (midnight 1/1/1970), but ‘epoch’ is often used as a synonym for ‘Unix time’. Many Unix systems store epoch dates as a signed 32-bit integer, which might cause problems on January 19, 2038 (known as the Year 2038 problem or Y2038).

Human readable time Seconds
1 hour 3600 seconds
1 day 86400 seconds
1 week 604800 seconds
1 month (30.44 days) 2629743 seconds
1 year (365.24 days) 31556926 seconds

How to get the current epoch time in …

PHP time() more …
Python import time first, then time.time()
Ruby Time.now (or Time.new). To display the epoch: Time.now.to_i
Perl time more …
Java long epoch = System.currentTimeMillis()/1000;
Microsoft .NET C# epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;
Objective-C [[NSDate date] timeIntervalSince1970]; (returns double) or NSString *currentTimestamp = [NSString stringWithFormat:@"%f", [[NSDate date] timeIntervalSince1970]];
VBScript/ASP DateDiff("s", "01/01/1970 00:00:00", Now())
Delphi Epoch := DateTimetoUnix(Now); Tested in Delphi 2010.
R as.numeric(Sys.time())
Erlang calendar:datetime_to_gregorian_seconds(calendar:now_to_universal_time( now()))-719528*24*3600.
MySQL SELECT unix_timestamp(now()) more …
PostgreSQL SELECT extract(epoch FROM now());
Oracle PL/SQL SELECT (SYSDATE - TO_DATE('01/01/1970 00:00:00', 'MM-DD-YYYY HH24:MI:SS')) *
24 * 60 * 60 FROM DUAL
SQL Server SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())
JavaScript Math.round(new Date().getTime()/1000.0) getTime() returns time in milliseconds.
Tcl/Tk clock seconds
Unix/Linux Shell date +%s
PowerShell Get-Date -UFormat "%s" Produces: 1279152364.63599
Other OS’s Command line: perl -e "print time" (If Perl is installed on your system)

 

Convert from human readable date to epoch

PHP strtotime("15 November 2012") (converts most English date texts) or:
date_create('01/15/2010')->format('U') (PHP5 DateTime class) more …
Python import time first, then int(time.mktime(time.strptime('2000-01-01 12:34:00', '%Y-%m-%d %H:%M:%S'))) - time.timezone
Ruby Time.local(year, month, day, hour, minute, second, usec ) (or Time.gm for GMT/UTC input). To display add .to_i
Perl Use the Perl Epoch routines
Java long epoch = new java.text.SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse("01/01/1970 01:00:00").getTime() / 1000;
VBScript/ASP DateDiff("s", "01/01/1970 00:00:00", time field) More info
Delphi Epoch := DateTimeToUnix(StrToDateTime(myString));
C Use the C Epoch Converter routines
R as.numeric(as.POSIXct("MM/dd/yyyy HH:mm:ss", origin="1970-01-01"))
MySQL SELECT unix_timestamp(time) Time format: YYYY-MM-DD HH:MM:SS or YYMMDD or YYYYMMDD
More on using Epoch timestamps with MySQL
PostgreSQL SELECT extract(epoch FROM date('2000-01-01 12:34'));
With timestamp: SELECT EXTRACT(EPOCH FROM TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40-08');
With interval: SELECT EXTRACT(EPOCH FROM INTERVAL '5 days 3 hours');
SQL Server SELECT DATEDIFF(s, '1970-01-01 00:00:00', time field)
JavaScript Use the JavaScript Date object
Unix/Linux Shell date +%s -d"Jan 1, 1980 00:00:01" Replace ‘-d’ with ‘-ud’ to input in GMT/UTC time.

Convert from epoch to human readable date

PHP date(output format, epoch); Output format example: ‘r’ = RFC 2822 date more …
Python import time first, then time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.localtime(epoch)) Replace time.localtime with time.gmtime for GMT time. More info
Ruby Time.at(epoch)
Perl Use the Perl Epoch routines
Java String date = new java.text.SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(new java.util.Date (epoch*1000));
VBScript/ASP DateAdd("s", epoch, "01/01/1970 00:00:00") More info
Delphi myString := DateTimeToStr(UnixToDateTime(Epoch)); Where Epoch is a signed integer.
C Use the C Epoch Converter routines
Objective-C NSDate * myDate = [NSDate dateWithTimeIntervalSince1970:epoch]; NSLog(@"%@", date);
R as.POSIXct(epoch, origin="1970-01-01", tz="GMT")
MySQL FROM_UNIXTIME(epoch, optional output format) Default output format is YYY-MM-DD HH:MM:SS. If you need support for negative timestamps: DATE_FORMAT(DATE_ADD(FROM_UNIXTIME(0), interval -315619200 second),"%Y-%m-%d") (replace -315619200 with epoch) more …
PostgreSQL PostgreSQL version 8.1 and higher: SELECT to_timestamp(epoch); More info Older versions: SELECT TIMESTAMP WITH TIME ZONE 'epoch' + epoch * INTERVAL '1 second';
Oracle PL/SQL SELECT to_date('01-JAN-1970','dd-mon-yyyy')+(1326357743/60/60/24) from dual
Replace 1326357743 with epoch.
SQL Server DATEADD(s, epoch, '1970-01-01 00:00:00')
Microsoft Excel =(A1 / 86400) + 25569 Format the result cell for date/time, the result will be in GMT time (A1 is the cell with the epoch number). For other time zones: =((A1 +/- time zone adjustment) / 86400) + 25569.
Crystal Reports DateAdd("s", {EpochTimeStampField}-14400, #1/1/1970 00:00:00#) -14400 used for Eastern Standard Time. See Time Zones.
JavaScript Use the JavaScript Date object
Tcl/Tk clock format 1325376000 More info
Unix/Linux Shell date -d @1190000000 Replace 1190000000 with your epoch, needs recent version of ‘date’. Replace ‘-d’ with ‘-ud’ for GMT/UTC time.
PowerShell Function get-epochDate ($epochDate) { [timezone]::CurrentTimeZone.ToLocalTime(([datetime]'1/1/1970').AddSeconds($epochDate)) }, then use: get-epochDate 1279152364. Works for Windows PowerShell v1 and v2
Other OS’s Command line: perl -e "print scalar(localtime(epoch))" (If Perl is installed) Replace ‘localtime’ with ‘gmtime’ for GMT/UTC time.

CREATE [OR REPLACE] DIRECTORY directory AS ‘pathname’

Pour afficher les DIRECTORY

activer l’onglet Directories dans TOAD.

CREATE DIRECTORY

Create a directory – an alias for a filesystem pathname – used to store LOBs.

Syntax:

 CREATE [OR REPLACE] DIRECTORY directory AS 'pathname';

Example

Create or replace DIRECTORY dir_test as ‘c:\test’;

declare
MyFile utl_file.file_type;

begin
MyFile := utl_file.fopen(‘DIR_TEST’, ‘some_filename.txt’, ‘w’);
utl_file.put_line(MyFile, ‘Here is some example text’);
utl_file.put_line(MyFile, ‘Another line of text’);
utl_file.fclose(MyFile);
end;
/

exemple :

CREATE OR REPLACE DIRECTORY DBA_DIR AS ‘C:\Batch’;

GRANT READ,WRITE ON DIRECTORY DBA_DIR TO OPS$DBO;

Pour lister les directories

select OWNER,DIRECTORY_NAME,DIRECTORY_PATH
from DBA_DIRECTORIES
order by OWNER,DIRECTORY_NAME;

Aide spooler SQPlus

Paramètres pour le spool SQLplus.

set tab off Pas de tabulation :
set trims off pas d’espace à la fin de la ligne
set line 100 longueur de ligne de 100
set heading on affiche les entêtes de colonne
set newpage 10 créé une nouvelle page toutes les 10 lignes
set pagesize 0
set feedback off compte le nombre d’enregistrement
set colsep « ; » séparateur de colonne ;
set termout off
set pause « tapez RETURN pour continuer «  attente d’une intervention clavier
set sqlnumber off supprime les numéros de ligne SQL
set sqlprefix off
SET TERM OFF 
-- TERM = ON will display on terminal screen (OFF = show in LOG only)

SET ECHO ON
— ECHO = ON will Display the command on screen (+ spool)
— ECHO = OFF will Display the command on screen but not in spool files.
— Interactive commands are always echoed to screen/spool.

SET TRIMOUT ON
TRIMOUT = ON will remove trailing spaces from output

SET TRIMSPOOL ON
TRIMSPOOL = ON will remove trailing spaces from spooled output

SET HEADING OFF
— HEADING = OFF will hide column headings

SET FEEDBACK OFF
— FEEDBACK = ON will count rows returned

SET PAUSE OFF
— PAUSE = ON .. press return at end of each page

SET PAGESIZE 0
— PAGESIZE = height 54 is 11 inches (0 will supress all headings and page brks)

SET LINESIZE 80
— LINESIZE = width of page (80 is typical)

SET VERIFY OFF
— VERIFY = ON will show before and after substitution variables

— Start spooling to a log file
SPOOL C:\TEMP\MY_LOG_FILE.LOG


— The rest of the SQL commands go here

SELECT * FROM GLOBAL_NAME;

SPOOL OFF

Top – Liste des processus

La commande top affiche quelques informations utiles ainsi qu’une liste des processus trié par ordre de consommation cpu.
Si top permet de garder un oeil sur les processus les plus gourmants et permet l’identification des processus qui freine le bon fonctionnement du système, le rafraichissement constant de top (toutes les 3 à 5 sec) le rend aussi peu utilise lorsque l’on désire espionner un processus particulier.
En effet, la position d’un processus dans la liste varie constamment avec fonction de sa consommation cpu. C’est assez agacant.
Voici le résultat d’une commande top.
Attention: Il est cependant possible d’indiquer précisément le ou les processes à suivre (top -p pid1,pid2,…)

top - 11:37:01 up 3 days, 21:11, 2 users, load average: 0.34, 0.24, 0.23 Tasks: 182 total, 3 running, 179 sleeping, 0 stopped, 0 zombie Cpu(s): 12.6%us, 1.1%sy, 0.0%ni, 86.2%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 2569208k total, 1451288k used, 1117920k free, 157804k buffers Swap: 12286972k total, 0k used, 12286972k free, 729628k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 9980 domeu 20 0 400m 115m 28m S 27 4.6 9:05.54 firefox-bin 1309 root 20 0 94356 74m 18m R 24 3.0 37:01.50 Xorg 1706 domeu 20 0 69148 46m 14m S 3 1.9 7:47.29 compiz 9997 domeu 20 0 134m 31m 14m S 3 1.2 1:42.08 plugin-containe 10079 domeu 20 0 93140 13m 10m S 3 0.6 0:00.84 gnome-terminal 1160 root 20 0 19292 4356 3572 S 0 0.2 0:06.87 NetworkManager 9498 root 20 0 0 0 0 R 0 0.0 0:00.92 kondemand/2 10322 domeu 20 0 2620 1156 840 R 0 0.0 0:00.02 top 1 root 20 0 2864 1700 1224 S 0 0.1 0:00.86 init 2 root 20 0 0 0 0 S 0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0 0.0 0:04.54 ksoftirqd/0 4 root RT 0 0 0 0 S 0 0.0 0:00.65 migration/0 5 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/0 15 root 20 0 0 0 0 S 0 0.0 0:05.05 events/0 19 root 20 0 0 0 0 S 0 0.0 0:00.00 cpuset

L’entête mentionne:

  • La date et l’heure mais aussi « uptime » (cfr: up)
  • La charge moyenne (average load)
  • L’usage de la mémoire (y compris swap)
  • L’usage CPU détaillé
    • us : User
    • sy : system
    • ni : nice
    • id : idle
    • wa : iowait
    • hi : H/w interrupt requests
    • si : S/w interrupt requests

La liste elle-même reprend:

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 9980 domeu 20 0 400m 115m 28m S 27 4.6 9:05.54 firefox-bin

pid – identification du processus
pr – la priorité attribuée par l’OS. Cette valeur dépend de la valeur de « nice » et d’autres paramètres. plus le chiffre est grand et moins le processus est prioritaire.
ni – la priorité donnée par l’utilisateur (-20 la plus haute, 20 la plus basse).
virt – la mémoire vituelle utilisée par le processus (mem processus + data processus + bibliothèques partagées utilisées + swap)
res – la quantité de ressource utilisé par le processus (mem processus + data processus)
shr – la mémoire partagée utilisée par le processus.
%cpu – évident
%mem – pourcentage de la mémoire physique utilisée par le processus.
time – temps cumulé durant lequel le processus a été actif.
command – la commande qui à lancé le processus

stop / start service linux

Exemple avec le service vsftpd

root@Vsch1:/#ps -ef |grep vsftpd
root 2100 1 0 Jul06 ? 00:00:00 /usr/sbin/vsftpd
root 8874 8753 0 10:44 pts/0 00:00:00 grep ftp

[root@pong sbin]# cd /etc/init.d/

[root@pong init.d]# ./vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]

root@Vsch1:/#stop vsftpd
vsftpd stop/waiting

root@Vsch1:/#start vsftpd
vsftpd start/running, process 8904

/etc/init.d/tis_commandline restart

root@Vsch1:/#/etc/init.d/tis_commandline restart

root@Vsch1:/#ps -ef |grep ftp
root 8904 1 0 10:53 ? 00:00:00 /usr/sbin/vsftpd
root 8906 8753 0 10:53 pts/0 00:00:00 grep ftp

SORT et UNIQ

Deux commandes simples qui permettent :

pour la première de trier (par ordre alphabétique par défaut)

et la seconde de dédoublonner (sur exact match par défaut).

Vous pouvez améliorer leur efficacité ou les spécialisées pour vos besoins avec des options. (sort –help et uniq –help pour les voir)

SNMP sous ubuntu

Sous le compte root :

apt-get install snmpd

vim /etc/snmp/snmpd.conf

activer la deuxieme ligne

# sec.name source community
#com2sec paranoid default public
com2sec readonly default public
#com2sec readwrite default private

vim /etc/snmp/snmpd.local.conf

syslocation vsch2
syscontact cco_exploit@faiveleytransport.com

vi /etc/default/snmpd

Mettre l’adresse IP de la carte réseau (du serveur) vsch2 10.20.112.40 :

# snmpd options (use syslog, close stdin/out/err).
#SNMPDOPTS=’-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1′
SNMPDOPTS=’-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid 10.20.112.40

Démarrer le service

sudo /etc/init.d/snmpd restart

Remplacer une chaine dans plusieurs fichiers Linux

Imaginons, par exemple, que vous souhaitiez remplacer une adresse email dans tous les fichiers .php d’un répertoire et de ses sous-répertoires. Si l’adresse à remplacer est « georges@6ma.fr », et que la nouvelle adresse est « michel@6ma.fr », voici la commande :

find . -name « *.php » -print | xargs sed -i ‘s/georges@6ma.fr/michel@6ma.fr/g’