Les Processsus

Informations générales sur la gestion des processus sous Unix

 

1)   Définition

Le terme processus désigne un programme binaire en cours d’exécution, c’est-à-dire un programme dans un environnement. Cet environnement comprend :

  • un numéro d’identification unique appelé PID (Process IDentifier).
  • le numéro d’identification de l’utilisateur qui a lancé ce processus, appelé UID (User IDentifier), et le numéro auquel appartient l’utilisateur, appelé GID (Group IDentifier).
  • les fichiers ouverts par le processus.
  • le masque de création de fichier, appelé umask.
  • le répertoire courant.
  • la taille max des fichiers que ce processus peut créer, appelée ulimit.
  • la priorité.
  • les temps d’exécution.
  • le terminal de contrôle, c’est-à-dire le terminal à partir duquel la commande à été lancée.

 

2)   Commandes liées aux processus

pwd            affiche le chemin du répertoire courant

umask         affiche le masque de création de fichier

id                affiche l’UID et le GID

logname    affiche le nom associé à l’UID

Le PID est stocké dans une pseudo-variable que l’on appelle $$. On peut afficher le PID du shell courant via la commande echo $$

ps            affiche les processus en cours.

ex: ps -eaf : affiche les informations sur tous les processus en cours.

 

3)    Création de processus

Pour chaque commande lancée (à l’exception des commandes internes), le shell crée automatiquement un nouveau processus. Il y a donc 2 processus. Le 1er, appelé processus père, exécute le programme shell et le 2ème , appelé processus fils, exécute la commande. Le fils hérite de tout l’environnement du père, sauf bien entendu du PID, du PPID et des temps d’exécution ; le PPID représente le PID du processus père.  Les deux processus peuvent tourner en parallèle.

Pour lancer un traitement très long et continuer à travailler en même temps, ils est possible de lancer un processus en background (ou arrière plan) en faisant suivre la commande du caractère ‘&’.

Vous pouvez également lancer successivement plusieurs commandes en arrière plan en utilisant les paranthèses.

ex: (commande1; commande2)&

Dans ce cas, la commande2 ne sera lancée qu’une fois la commande1 terminée.

La commande wait n permet d’attendre la mort du processus en background.

 

4)    Arborescence de processus

Tous les processus sont crées à partir d’un processus père existant déjà. Le premier processus est un peu spécial. Il est crée lorsque le système est unitialisé. Il s’appelle init, à le PID 1 et n’est rattaché à aucun terminal. Son rôle est de créer de nouveaux processus ; il en crée 2 sortes :

  • les démons, c’est-à-dire des processus qui ne sont rattachés à aucun terminal, qui sont « endormis » la plupart du temps mais qui se réveillent de temps en temps pour effectuer un tâche précise (par exemple la gestion des imprimantes).
  • les processus interactifs, associés aux lignes d’entrées/sorties sur lesquelles sont rattachés des terminaux. Autrement dit des processus vous permettant de vous connecter.

 

5)   Identificateur réels et effectifs

A chaque processus sont en fait associés deux groupes d’identifications :

  • l’UID et le GID réels identifient l’utilisateur qui a lancé le processus.
  • l’UID et le GID effectifs (EUID et EGID) identifient les droits du processus.

Le plus souvent, les identités réelles et effectives sont identiques. Cependant, il peut être nécessaire de modifier les droits d’un processus.

Par exemple, le fichier /etc/passwd est protégé en écriture. Aucun utilisateur n’a le droit d’écrire dans ce fichier. Cependant, en utilisant la commande passwd (/bin/passwd), vous écrivez quand même dans ce fichier puisque vous modifiez votre mot de passe.

Si vous faites un ‘ls -l /bin/passwd‘, vous remarquerez que ls affiche un ‘s’ à la place du caractère ‘x’ habituel montrant que ce fichier a le mode « set user ID » et « set group ID ». Dans ce cas, l’EUID et le EGID du processus sont ceux du propriétaire du fichier exécuté (et non pas ceux de l’utilisateur qui l’a lancé). Ainsi quiconque lance l’exécutable passwd, travaille avec l’UID effectif de root et GID de sys.

 

6)    Signaux

Un signal est un message qu’un processus peut envoyer à un autre processus. Il existe une vingtaine de signaux numérotés à partir de 1. Envoyer un signal revient à envoyer ce numéro à un processus.

Voici les principaux signaux :

SIGHUP (1) : il est envoyé lorsque la connexion physique de la ligne est interrompue

SIGINT (2) : interruption du processus via un terminal (Ctrl+C, Break, DEL)

SIGKILL (9) : tue un processus

SIGTERM (15) : fin normale d’un processus

 

Pour envoyer un signal, on utilise la commande kill avec en option le numéro du signal souhaité (par défaut, le signal 15 est utilisé).

Il est possible de lancer un processus qui ignore le signal SIGHUP, c’est-à-dire que le processus continuera à tourner même si son père shell meure.

Cela se fait en utilisant la commande: nohup cmd

La commande nohup crée un fichier ./nohup.out dans lequel elle met l’affichage de la commande lancée avec nohup.

 

Il existe une commande très pratique destinée à intercepter les signaux et d’y associer un traitement ; cette commande est trap.

trap commande numéro_de_signal

ex: trap « echo le signal 3 a ete recu » 3

Si le signal 3 arrive, la commande « echo le signal 3 a ete recu » sera exécutée.

 

Vous pouvez voir les différents traitements associés aux signaux en tapant trap sans argument.

Le pseudo signal 0 est reçu par le processus lorsque celui-çi se termine. Vous pouvez donc lui associer un traitement, par exemple la destruction des fichiers temporaires.

 

7)    Statut d’un processus

Lorsqu’un processus se termine, il retourne toujours une valeur significative appelée également statut.

Par convention, lorsqu’un processus se termine correctement, il retourne la valeur 0, sinon, il retourne une valeur différente de 0. Ce choix permet de ramener des codes significatifs pour différencier les erreurs.

Lorsque le shell lance une commande et attend qu’elle se termine, il place son statut dans une pseudo-variable nommée ‘?

Vous pouvez consulter cette valeur en tapant la commande :

echo $? 

 

8)     Priorités

Le système affecte une priorité à l’exécution d’un processus. Cette priorité peut être modifiée par le système en cours d’exécution suivant l’action du processus ou le nombre de processus sur le système. Il est possible de pondérer la priorité d’un processus. Cette pondération se situera dans une fourchette allant de 0 à 40. Plus le nombre est grand, plus la priorité est faible. Un processus interactif est par défaut à 20. Tout processus peut baisser sa priorité mais jamais l’augmenter ; sauf l’administrateur qui pourra diminuer jusqu’à 0. Le système utilisera la pondération pour affecter une priorité au processus. Pour modifier la pondération, on utilise la commande nice.

nice -n cmd

Le shell va lancer la commande cmd en baissant sa priorité de n par rapport à la priorité courante.

NB. Les champs NI et PRI de la commande ps -l donnent la pondération demandée (NIce) et la valeur réelle (PRIority) donnée par le système. La pondération est demandée (sa valeur sera fixe en cours d’exécution) alors que la valeur réelle sera recalculée en permanence par le système suivant sa charge.

Gérer les impressions

Informations natives en AIX 4.3 mais probablement toujours d’actualité en AIX 5.x

1) Le fichier qconfig

3835A:                            nom de la file d’attente
device = dev1,dev2,dev3,dev4        périphériques associés à la file d’attente
dev1:
backend = /usr/lpp/psf/bin/ainbe 3835A    programme post-processeur
dev2:
backend = /usr/lpp/psf/bin/ainbe 3835A
dev3:
backend = /usr/lpp/psf/bin/ainbe 3835A

dev4:
backend = /usr/lpp/psf/bin/ainbe 3835A
imp:
device = hp@imp
hp@imp:
file = /var/spool/lpd/pio/@local/dev/hp@imp#hpJetDirect#9100
header = never
trailer = never
access = both
backend = /usr/lib/lpd/pio/etc/piojetd imp 9100
[…]

XU007488:                        nom de la file d’attente
device = @XU007488
up = TRUE                   file d’attente activée (FALSE pour désactivée)
host = XU007488         système où l’imprimante est physiquement connectée 
s_statfilter = /usr/lib/lpd/aixshort     filtre de la définition de la file d’attente 
l_statfilter = /usr/lib/lpd/aixlong     »     »     »     »     »
rq = lpt1                    nom de la file d’attente du système xu007488 
@XU007488:
backend = /usr/lib/lpd/rembak    post-processeur de l’impression à distance

Dans cet exemple, les réquêtes de la file d’attente XU007DC4 sont envoyées vers la file d’attente lpt1 du système XU007DC4. La requête part donc de la XU vers le serveur pour revenir sur l’imprimante locale, connectée à la XU ; en ce sens, c’est une impression distante.

2) Les différents états d’une file d’attente

Pour afficher l’état des files d’attente, exécuter la commande :  # lpstat

Voici les différents états possibles :

  • Ready

La file d’attente est dans l’état de base, elle attend un ordre.
C’est l’état initial lors de la création d’une file d’attente.

  • Running

L’imprimante est en train d’imprimer.

  • Initing

Le programme de “backend” est en train de se connecter au serveur d’impression (carte réseau de l’imprimante ou autre RISC RS/6000).

  • Connect

Le programme de “backend” s’est connecté au serveur d’impression.

  • Sending

Le RS/6000 est en train d’envoyer le travail au serveur d’impression.

  • Hold

Cet état spécifie que le job est retenu et ne pourra pas être mis en file d’attente.
Vous pouvez passer par smit pour libérer le job :
smit spooler / manage  print job / hold/release job, etc.

  • Dev_Busy

Plusieurs files d’attente sont définies sur la même unité et l’une d’entre-elles est en train de l’utiliser.
Attendre la fin de l’impression ou “tuer” le process qui utilise le port d’impression.

  • Dev_Wait

La file d’attente attend que l’imprimante soit prête car celle-ci est “en arrêt” (plus de papier, bourrage…).
Vérifier l’imprimante et les connexions. S’il s’agit d’une imprimante série, vérifier le contrôle de flux.
A la fin du “time out”, la file d’attente passe à l’état DOWN.

  • Down

Il n’y a plus de communication entre l’imprimante et le RS/6000 après un “time out”.
Le “time out” permet, par exemple, de remettre du papier dans l’imprimante, lorsque celle-ci le demande, sans que la file d’attente passe à l’état “DOWN”.
Le “time out” doit être ajusté lors d’impressions sur des réseaux “chargés”. Par convention, on essaye de lui appliquer une durée au moins égale au temps maximum d’impression d’un job.
Le “time out” peut être ajusté, en fonction du type d’attachement de l’imprimante, de la façon suivante :

Imprimante LOCALE
Par l’une des commandes suivantes :
# smit chgprt (délai d’attente de l’imprimante / printer timeout period)
ou
# splp lpx
Note : L’unité de temps est la seconde.

 

Imprimante RESEAU
Par le protocole lpd/lpr :
Si le système est en 4.3.x :
ce paramètre se configure directement lors de la création de la file d’attente.
Si le système est d’une version < 4.3.x,
ou
Si le paramètre n’a pas été configuré lors de la création de la file d’attente :
Traitement standard :
Modifier le fichier “/etc/qconfig”
Exemple pour un délai de 30 minutes (de base 90 secondes) :
backend=/usr/lib/lpd/rembak -T30
En cas de modification, le fichier “/etc/qconfig” doit être recompilé par le
programme “digest” ou par les commandes :
#stopsrc -s qdaemon
#startsrc -s qdaemon

Filtrage local :
Avec un “backend=/usr/lib/lpd/pio/etc/piorlfb”, modifier dans le shell script “(/usr/lib/lpd/pio/etc/piorlfb)” la ligne de la façon suivante :
remplacer : typeset piorlfb_rbflag=”” # rembak flags
par : typeset piorlfb_rbflag=”–T30 T30” # rembak flags

 

Configuration HpJetdirect
Dans ce cas, le “time out” doit être réglé sur le boîtier lui-même.

 

  • Opr_Wait

Le programme de backend attend une action de l’opérateur.

  • Unknown

On peut rencontrer cet état lorsque le fichier suivant a été effacé :
/var/spool/lpd/stat/s.queue.device_name
Pour restaurer ce fichier, arrêter et relancer qdaemon.

3) Dépannage

  • L’impression ne se termine pas

Imprimante SERIE
L’imprimante ne peut imprimer que le contenu de son buffer.
Cet incident est généralement dû :
à une mauvaise gestion du flux d’impression (l’imprimante est en “DTR” et sa définition sur le RS/6000 est en “XON/OFF”, ou réciproquement),
ou à un problème de câble série.

 

Imprimante RESEAU
Dans ce cas, augmenter le “time out” entre le RS/6000 et le serveur d’impression (voir, ci-dessus, le paragraphe concernant le statut DOWN).

 

  • L’impression démarre sur une mauvaise imprimante

Vérifier la “queue” de destination dans le fichier “/etc/qconfig”.

  • La file d’attente passe en “DOWN”

Vérifier la place restante dans “/var”, par la commande “df -k /var”.
Vérifier qu’il n’y a pas d’imprimante “dummy” dans le fichier “/etc/qconfig”.

Si tel était le cas, effacer les lignes correspondantes puis arrêter et relancer le démon
“qdaemon”.

Imprimante LOCALE
Il se peut que le signal CTS (qui indique que l’imprimante est prête) soit manquant. Dans ce cas, vérifier la configuration série et le câble.

 

Imprimante RESEAU
Dans le cas des imprimantes en réseau, augmenter le “time out”. Pour cela, se référer à la méthode décrite plus haut (file d’état dans “DOWN”).

 

  • La file d’attente est READY mais rien ne s’imprime

Vérifier que le type de fichier que l’on cherche à imprimer est bien du même type que celui de la file d’attente que l’on a configurée (PostScript, HPGL…).
Arrêter et relancer la file d’attente par les commandes “disable/enable”.
Annuler les demandes d’impression en cours et les relancer.
L’annulation se fera par la commande : # cancel job_number
_ En dernier recours, vider les files d’attente. Pour cela, passer les commandes :
# stopsrc -g spooler
# rm /var/spool/lpd/qdir/*
# rm /var/spool/lpd/stat/*
# rm /var/spool/lpd/* (il ne doit rester que les trois répertoires)
# rm /var/spool/qdaemon/*
# rm /etc/qconfig. bin
# startsrc -g spooler

En plus, on peut aussi effacer tous les messages d’erreur des imprimantes :
rm /var/spool/lpd/pio/@local/msg*

  • Seul ROOT peut imprimer

Vérifier les droits des fichiers ou des répertoires :
“/, /tmp, /var/spool, /var/spool/qdaemon, /etc/hosts,/etc/qconfig, …”
sur les commandes “enq, qprt, lpd, lp, …”.

ex :
#ls -l /usr/sbin/qdaemon
-rwxr-xr-x   1 root     printq     67972 Mar 17 1998  /usr/sbin/qdaemon

#ls -al /etc/qconfig
-rw-rw-r–   1 root     printq      7785 Jan 10 13:27 /etc/qconfig

* La protection de qdaemon à changer en « -r-sr-s—« , et celle de qconfig est correcte.

#chmod u+xs,g+xs,o-rx qdaemon
#chmod u-w qdaemon

#ls -al qdaemon
-r-sr-s—   1 root     printq     67972 Mar 17 1998  qdaemon

#stopsrc -g spooler
#startsrc -g spooler

  • Des caractères spéciaux (garbage) apparaissent

(en début ou en fin de fichier)
Changer l’attribut d’initialisation et de restauration de l’imprimante virtuelle.
Pour cela :
choisir l’imprimante par son numéro : # lsvirprt
modifier les paramètres par : j=!
J=!
quitter par : <entrée>
Note : On ne trouvera pas ces paramètres si la file d’attente a été déclarée en “traitement standard” (pour les imprimantes en réseau).

  • Erreur dans les menus de SMIT pour les imprimantes

(message : 1800-106 an error occured)
Vérifier que les fichiers ne sont pas à 0 (zéro) sous : /var/spool/lpd/pio/@local/smit/*
Si tel était le cas :
copier les fichiers :
de : /usr/lpp/printers.rte/inst_root/var/spool/lpd/pio/@local/smit/
dans : /var/spool/lpd/pio/@local/smit/
puis exécuter le script suivant sous “/var/spool/lpd/pio/@local/custom” :
#!/bin/ksh
for file in ‘ls’
do
/usr/lib/lpd/pio/etc/piodigest $file
done

Une file d’attente existe déjà (message 0782-652)

Si le message 0782-652 apparaît disant qu’une file d’attente existe déjà et que cette file d’attente n’existe plus dans la réalité, l’erreur peut être due au fait que des informations sur l’imprimante virtuelle existent encore.
Pour effacer ces informations, passer la commande :
# cd /var/spool/lpd/pio/@local/custom
et si l’on retrouve le nom de l’imprimante dans ce répertoire :
# rmvirprt -q queue_name -d device_name

  • Support d’imprimantes nouvelles

La liste affichée sous smi mi mit lors de la création d’une file d’attente est la liste complète des imprimantes supportées sous cette version d’AIX.
Il est toutefois possible de configurer un autre type d’imprimante à condition :
soit de connaître son émulation (pour cela, se référer au manuel d’utilisation ou faire une demande auprès du constructeur), soit d’utiliser une imprimante “générique” (generic printer).

Il est également possible de trouver les drivers spécifiques aux imprimantes sur le sites WEB des différents constructeurs. Il faut faire très attention à bien télécharger le driver de la bonne version d’AIX.
Vérifier ensuite, sous “/usr/lib/lpd/pio/predef”, que le driver possède les bons droits.

4) Quelques commandes

enq –A –W : consulter la queue d’impression en format long
lpstat : consulter la queue d’impression
lpq : consulter la queue d’impression
lpr : imprimer

Smit – Fast Path

SMIT (System Management Interface Tool) est utilisé pour administrer AIX (la version en mode texte s’appelle SMITTY).

Il est possible d’accéder aux sous-menus SMIT en utilisant les « fast path ».
Lorsque vous êtes dans SMIT, vous pouvez voir le « fast path » du menu en cours en pressant la touche F8.

 

Software Installation and Maintenance
Install and Update Software
Install Software
Update Installed Software to Latest Level (Update All)
Install Software Bundle
Update Software by Fix (APAR)
Install and Update from ALL Available Software
List Software and Related Information
List Installed Software and Related Information
List Installed Software
List Applied but Not Committed Software Updates
Show Software Installation History
Show Fix (APAR) Installation Status
List Fileset Requisites
List Fileset Dependents
List Files Included in a Fileset
List Fileset Containing File
Show Installed License Agreements
List Software on Media and Related Information
List Filesets in a Bundle
List Software on Installation Media
List Software Fixes (APARs) on Installation Media
List Supplemental Fileset Information on Installation Media
Show License Agreements on Installation Media
Software Maintenance and Utilities
Commit Applied Software Updates (Remove Saved Files)
Reject Applied Software Updates (Use Previous Version)
Remove Installed Software
Copy Software to Hard Disk for Future Installation
Check Software File Sizes After Installation
Verify Software Installation and Requisites
Network Installation Management
Configure Network Installation Management Client Fileset
Install and Update Software
List Software on Media and Related Information
List Filesets in a Bundle
List Software on Installation Media
List Software Fixes (APARs) on Installation Media
Manage Network Install Permissions
Manage Network Install Resource Allocation
System Backup Manager
Back Up the System
Back Up This System to Tape/File
Create a Generic Backup CD
List Files in a System Image
Restore Files in a System Image
install
install_update
install_latest
update_all
install_bundle
update_by_fix
install_all
list_software
list_installed
list_installed_sw
list_applied_sw
show_history
show_apar_stat
list_requisites
list_dependents
list_files
what_fileset
installed_license
list_media
list_bundle
list_media_sw
list_media_fixes
list_media_info
license_on_media
maintain_software
commit
reject
remove
bffcreate
check_files
verify_install
nim_client
niminit
nim_client_inst
nim_client_list
nim_c_list_bundle
nim_c_list_sw
nim_c_list_fixes
nim_perms
nim_c_mac_res
backsys
sysbackup
mksysb
mkcdgeneric
lsmksysb
restmksysb
Software License Management
Manage Nodelocked Licenses
Add Nodelocked License from a File
Add Nodelocked License from the Keyboard
Delete a Nodelocked License
Manage License Servers and License Databases
Show Server Characteristics
Manage Concurrent Use and Use Once Licenses
Manage Vendor Information in License Databases
Show License Usage on Servers
Show License Usage Summary
Show Licenses Currently Being Used
Show License Information by Server
Show Licenses Held by a Specific User
Show License Agreements
Show Installed License Agreements
Show License Agreements on Installation Media
 licenses
manage_nodelocked
add_nodelocked_from_file
add_nodelocked_from_keyboard
delete_nodelocked
manage_servers
show_server_characteristics
manage_prod_licenses
manage_vendors
show_server_status
show_total_license_usage
show_current_license_usage
show_installed_licenses
show_user_license_held
show_license_agree
installed_license
license_on_media
Devices
Install/Configure Devices Added After IPL
Printer/Plotter
TTY
PTY
Console
Fixed Disk
CD ROM Drive
Read/Write Optical Drive
Diskette Drive
Tape Drive
Communication
Graphic Displays
Graphic Input Devices
Low Function Terminal (LFT)
SCSI Initiator Device
SCSI Adapter
Asynchronous I/O
Multimedia
List Devices
Configure/Unconfigure Devices
Unconfigure a Device
Configure a Defined Device
Install Additional Device Software
PCI Hot Plug Manager
Unconfigure a Device
Configure a Defined Device
Install/Configure Devices Added After IPL
ISA Adapters
 dev
cfgmgr
printer
tty
pty
console
disk
cdrom
rwopt
diskette
tape
commodev
g_display
input
lft
scsiid
scsia
aio
mm
lsattr
devcfg
devcfg_ucfg
devcfg_cfg
devinst
devdrpci
rmdev
mkdev
cfgmgr
devisa
System Storage Management (Physical & Logical Storage)
Logical Volume Manager
Volume Groups
List All Volume Groups
Add a Volume Groups
Set Characteristics of a Volume Group
List Contents of a Volume Group
Remove a Volume Group
Activate a Volume Group
Deactivate a Volume Group
Import a Volume Group
Export a Volume Group
Mirror a Volume Group
Unmirror a Volume Group
Synchronize LVM Mirrors
Back Up a Volume Group
Remake a Volume Group
List Files in a Volume Group Backup
Restore Files in a Volume Group Backup
Logical Volumes
List All Logical Volumes by Volume Group
Add a Logical Volume
Set Characteristics of a Logical Volume
Show Characteristics of a Logical Volume
Remove a Logical Volume
Copy a Logical Volume
Physical Volumes
Add a Disk
Change Characteristics of a Physical Volume
List Contents of a Physical Volume
Move Contents of a Physical Volume
Paging Space
Add Another Paging Space
Change/Show Characteristics of a Paging Space
Remove a Paging Space
Activate a Paging Space
Deactivate a Paging Space
File Systems
List All File Systems
List All Mounted File Systems
Add/Change/Show/Delete File Systems
Mount a File System
Mount a Group of File Systems
Unmount a File System
Unmount a Group of File Systems
Verify a File System
Backup a File System
Restore a File System
List Contents of a Backup
Files & Directories
Backup a File or Directory
Restore a File or Directory
List Contents of a Backup
Removable Disk Management
List All Mounted File Systems on a Disk
Unmount File Systems on a Disk
Remove a Disk from the Operating System
Remove a Disk
Open Door
System Backup Manager
Back Up the System
List Files in a System Image
Restore Files in a System Imag
storage
lvm
vg
lsvg2
mkvg
vgsc
lsvg1
reducevg2
varyonvg
varyoffvg
importvg
exportvg
mirrorvg
unmirrorvg
syncvg
vgbackup
restvg
lsbackvg
restsavevg
lv
lsvg
mklv
lvsc
lslv
rmlv
cplv
pv
makdsk
chpv
lspv
migratepv
pgsp
mkps
chps
rmps
swapon
swapoff
fs
lsfs
mount
manfs
mountfs
mountg
umountfs
umountg
fsck
backfilesys
restfilesys
listtoc
filemgr
backfile
restfile
listtoc
rds
lsmntdsk
umntdsk
removedsk
rmvdsk1
open_door
backsys
sysbackup
lsmksysb
restmksysb
Security and Users
Users
Add a User
Change a User’s Password
Change/Show Characteristics of a User
Lock/Unlock a User’s Account
Reset User’s Failed Login Count
Remove a User
List All Users
Groups
List All Groups
Add a Group
Change/Show Characteristics of a Group
Remove a Group
Passwords
Change a User’s Password
Change/Show Password Attributes for a User
Login Controls
Change/Show Login Attributes for a User
Change/Show Login Attributes for a Port
Roles
Add a Role
Change/Show Characteristics of a Role
Remove a Role
List All Roles
 security
users
mkuser
passwd
chuser
lockuser
failed_logins
rmuser
lsuser
groups
lsgroup
mkgroup
chgroup
rmgroup
passwords
passwd
passwdattrs
logins
login_user
login_port
roles
mkrole
chrole
rmrole
lsrole
Communications Applications and Services
TCP/IP
Minimum Configuration & Startup
Further Configuration
Hostname
Static Routes
Network Interfaces
Name Resolution
Client Network Services
Server Network Services
Manage Print Server
Select BSD style rc Configuration
Authentication Configuration
Use DHCP for TCPIP Configuration & Startup
IPV6 Configuration
IPV6 Static Routes
IPV6 Network Interfaces
IPV6 Daemon/Process Configuration
Quality of Service Configuration & Startup
Start Using the QoS Subsystem
Stop Using the QoS Subsystem
NFS
Configure TCP/IP (If Not Already Configured)
Network File System (NFS)
Configure NFS on This System
Add a Directory to Exports List
Change/Show Attributes of an Exported Directory
Remove a Directory from Exports List
Add a File System for Mounting
Change/Show Attributes of an NFS File System
Remove Remove an NFS File System
 commo
tcpip
mktcpip
configtcp
hostname
route
netinterface
namerslv
clientnet
ruser
server
setbootup_option
auth_config
usedhcp
configtcp6
route6
inet6
daemon6
configqos
startqos
stopqos
nfs_menus
tcpip
nfs
nfsconfigure
mknfsexp
chnfsexp
rmnfsexp
mknfsmnt
chnfsmnt
rmnfsmnt
Print Spooling
Start a Print Job
Manage Print Jobs
Cancel a Print Job
Show the Status of Print Jobs
Prioritize a Print Job
Hold/Release a Print Job
Move a Job Between Print Queues
Manage Print Queues
Show Status of Print Queues
Stop a Print Queue
Start a Print Queue
Set the System’s Default Print Queue
Add a Print Queue
Add an Additional Printer to an Existing Print Queue
Change/Show Print Queue Characteristics
Remove a Print Queue
Manage Print Server
Programming Tools
 spooler
qprt
jobs
qcan
qchk
qpri
qhld
qmove
pqmanage
qstatus
qstop
qstart
qdefault
mkpq
mkqprt
chpq
rmpq
server
pqtools
Problem Determination
Error Log
Generate Error Report
Change/Show Characteristics of the Error Log
Clean the Error Log
System Dump
Change the Primary Dump Device
Change the Secondary Dump Device
Change the Directory to which Dump is Copied on Boot
Copy a System Dump from a Dump Device to a File
Copy a System Dump from a Dump Device to Diskette
Always Allow System Dump
System Dump Compression
Check Dump Resources Utility
Alog
Show an Alog file
Change/Show Characteristics of an Alog File
Hardware Diagnostics
Verify Software Installation and Requisites
 problem
error
errpt
errdemon
errclear
dump
dumpchgp
dumpchgs
dumpchgd
dump_copy_file
dump_copy_dskt
dump_allow
dump_comprs
dump_checkr
alog
alog_show
alog_change
diag
verify_install
Performance and Resource Scheduling
Resource Status & Monitors
Analysis Tools
Resource Controls
Remove a Process
Set Initial Priority of a Process
Change Initial Priority of a Process
Set System Run Level
Schedule Jobs
Power Management
Configure/Unconfigure Power Management
System State Transition from Enable State
Display Power Management
Battery
Workload Management
Work on alternate configurations
Copy a configuration
Create a configuration
Select a configuration
Enter configuration description
Remove a configuration
Work on a set of Subclasses
Add a class
Change/Show Characteristics of a class
General characteristics of a class
CPU resource management
Memory resource management
diskIO resource management
Remove a class
Class assignment rules
Create a new Rule
Change/Show Characteristics of a Rule
Start/Stop/Update WLM
Start Workload Management
Update Workload Management
Stop Workload Management
Assign/Unassign processes to a class/subclass
 performance
monitors
analysis
controls
kill
nice
renice
telinit
at
pm
pmConfig
pmState
pmDisplaySelect
pmBattery
wlm
wlmconfig
wlmconfig_copy
wlmconfig_create
wlmconfig_select
wlmconfig_enter
wlmconfig_delete
wlmsubclass
wlmaddclass
wlmchclass
wlmclass_gal
wlmclass_cpu
wlmclass_mem
wlmclass_bio
wlmrmclass
wlmrs
crewlmrs
chgwlmrs
wlmmanage
wlmstart
wlmupdate
wlmoff
wlmassign
System Environments
Stop the System
Assign the Console
Change/Show Date and Time
Change/Show Date & Time
Change Time Zone Using System Defined Values
Change Time Zone Using User Inputted Values
Manage Language Environment
Change/Show Primary Language Environment
Add Additional Language Environments
Remove Language Environments
Change/Show Language Hierarchy
Set User Languages
Change/Show Applications for a Language
Convert System Messages and Flat Files
Change/Show Characteristics of Operating System
Change/Show Number of Licensed Users
Manage AIX Floating User Licenses for this Server
Broadcast Message to all Users
Manage System Logs
Change/Show Characteristics of System Dump
Internet and Documentation Services
Change/Show Default Browser
Change Documentation and Search Server
Change/Show Default Documentation Language
Web-based System Manager
Change System User Interface
Change/Show Default Documentation Language
Manage Remote Reboot Facility
Manage System Hang Detection
 system
shutdown
chcons
chtz_date
date
chtz
chtz_user
mlang
chlang
mle_add_lang
mle_rm_lang_hdr
mle_hier_cmd_hdr
chlang_user
mle_chapp_menu
nu_iconv
chgsys
chlicense
netls_server
wall
logs
dump
web_configure
change_default_browser
change_doc_search_server
chdoclang
web_based_system_manager
dt_config
chdoclang
rrbtty
shd
Processes and Subsystems
Processes
Remove a Process
Bind a Process to a Processor
Unbind a Process
Subsystems
Query a Subsystem
Start a Subsystem
Stop a Subsystem
Stop a Single Subsystem
Stop All Subsystems
Refresh a Subsystem
Trace Subsystem
Start Trace
Stop Trace
Subservers
Query a Subserver
Start a Subserver
Stop a Subserver
Trace Subserver
Start Trace
Stop Trace

Mesure de la performance

1) vmstat

La commande vmstat fournit des statistiques concernant l’activité CPU, les disques, la mémoire et les kernel threads

vmstat [ -f ] [ -i ] [ -s ] [ -I ] [ -t ] [ -v ] [ PhysicalVolume … ] [Interval [ Count ] ]

-f : affiche le nombre de forks depuis le dernier démarrage du système (fork: fonction de duplication d’un processus père -> fils)
-i : affiche le nombre d’interruptions prises pour chacun des devices depuis le dernier démarrage du système

En général, la commande vmstat est exécutée avec un argument d’intervalle et un argument de nombre rapports souhaités.

ex: vmstat 2 5 # exécute 5 fois vmstat avec un intervalle de 2 secondes entre chaque

Sans argument, vmstat fournit les statisques depuis le dernier démarrage du système

  • Interpréter les résultats

kthr     memory             page              faults          cpu
—– ———– ———————— ———— ———–
r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa

kthr (infos sur les Kernel THReads)
r    processus prêts en attente d’exécution dans la run queue
b    processus bloqués en attente de ressources (E/S, demande de pages) dans la wait queue.

memory (infos sur la mémoire physique et virtuelle)
avm    nombre moyen de pages actives (4ko) de la mémoire virtuelle (une page est considérée active si elle appartient à des processus exécutables ou qui se sont exécutés depuis moins de 20 secondes)
fre    nombre moyen  de pages (4ko) de mémoire réelle dans la liste des pages disponibles (freelist). Cette colonne représente la mémoire disponible.

L’activité de pagination est reflétée par une diminution significative de la mémoire disponible

page (infos sur l’activité de pagination)
re    nombre/s de pages réclamées c’est-à-dire le nombre de pages placées dans la liste des pages disponibles (freelist) mais réclamées par leur propriétaire avant qu’elle ne soient réutilisées.
pi    pagination in (de l’espace de pagination vers la mémoire réelle)
po    pagination out (de la mémoire réelle vers l’espace de pagination)
fr    nombre/s de pages mémoire libérées par l’algorithme de remplacement de page durant l’intervalle de mesure.
sr    nombre/s de pages/s examinées par l’algorithme de replacement
cy    nombre/s de cycles d’horloge pour l’algorithme de replacement

vmstat5.po doit être proche de0 et la colonne de vmstat.pi n’est pas très significative car le lancement d’un processus provoque la pagination de son image exécutable et de ses données. Lorsqu’un processus est lancé, le chiffre de cette colonne augmentera por retomber rapidement à un niveau normal.
vmstat5.po / vmstat5.fr > 1 / 6(vol de pages)

faults (infos sur les processus)
in    nombre/s d’intérruption par secondes hors-horloge
sy    appels système par seconde. Un appel système provoque l’utilisation par le processus du code système pour son propre compte. (exemple lecture/écriture sur un fichier).
cs    taux de changement de contexte par seconde

cpu (infos sur l’utilisation du CPU)
us    % temps CPU user (process de priorités comprises entre 127 et 50). Lorsqu’un processus s’exécute en mode utilisateur, il utilise son propre code et ne fait pas appel aux ressources du noyau.
sy    % temps CPU noyau (processus compris entre 49 et 0) qui résulte à la fois du surcoût induit par l’exécution des process utilisateurs qui ont besoin de ressources noyau (exemple lecture/écriture sur un fichier) et du temps passé à offrir des services système.
id     % de temps CPU non utilisé

vmstat5.id > 5%, vmstat5.us > 2 x vmstat5.sy, vmstat5.wa < 25%

 

2) sar (System Activity Report)

La commande sar peut-être utilisée en temps réel ou a posteriori, pour étudier les performances du système sur une période donnée.

/usr/sbin/sar [ { -A | [ -a ] [ -b ] [ -c ] [ -d ][ -k ] [ -m ] [ -q ] [ -r ] [-u ] [ -V ] [ -v ] [ -w ] [ -y ] } ] [ -P ProcessorIdentifier, … | ALL ] [-ehh [ :mm [ :ss ] ] ] [ -XFile ] [ -fFile ] [ -iSeconds ] [ -oFile ] [ -shh [:mm [ :ss ] ] ] [ Interval [ Number ] ]

* Pour une utilisation en temps réel, indiquez à sar, un argument d’intervalle et un argument de nombre rapports souhaités.

ex:

# sar 2 2 (2 rapports avec un intervalle de 2 secondes)

AIX servername 2 5 0037879F4C00    05/28/07

11:08:53    %usr    %sys    %wio   %idle
11:08:55      25      15      19      42
11:08:57      20      11      22      47

Average       23      13      20      44

* Pour une utilisation à posteriori, il convient de planifier en crontab les tâches suivantes :

0 * * * *  /usr/lib/sa/sa1 600 6 &
50 23 * * * /usr/lib/sa/sa2 -A &

le script sa1 est une variante de sadc, il collecte et stocke les données dans le binaire /var/adm/sa/sajj (jj pour le jour concerné).
L’entrée en crontab ci-dessus ordonnance une prise de performance toutes les 600 secondes, 6 fois de suite = 60 minutes ; la commande étant lancée toutes les heures, les informations seront collectées en permanence, toutes les 10 minutes.

le script sa2 exécute la commande sar et produit des rapports quotidiens sous /var/adm/sa/sarjj (jj pour le jour concerné).
Il extrait toutes les données du binaire du jour selon les options choisies.

Les options de la commande sar

-A sans le flag -P, équivaut à -abckmqruvwy. Avec le flag -P, équivaut à -acmuw
-a Opérations d’accès aux fichiers
-b Activité des buffers
-c Activité des appels système
-d Activité des périphériques de type bloc
-f Extrait les données d’un fichier (créé par le flag -o). Par défaut la valeur est le fichier /var/adm/sa/sajj en cours
-k Activité du noyau
-m Utilisation des IPC
-o Enregistre le résultat dans un binaire
-P Affiche les statistiques par processeur (rajouter l’Identifiant Processeur | ALL)
-q Statistiques de la file d’attente (queue)    % moyen de processus prêts à s’exécuter en swap et en mémoire
-r Activité de la pagination
-u Activité des processeurs
-V Lit un fichier enregistré sur une version précédente
-v Etat des tables du noyau
-w Nombre de changement de contextes par seconde
-y Activité des terminaux

# sar –u : activité des processeurs
%usr : % de temps passé en mode utilisateur
%sys : % de temps passé en mode système
%wio : % de temps durant lequel le processeur est en attente d’une réponse d’une I/O
%idle : % de temps durant lequel le processeur n’est pas utilisé

sar-u5.idle > 5%, sar-u5.wio doit être faible (entre 5% et 10%)
sar-u5.usr > 2 x sar-u5.sys

# sar –d : activité des disques
device : nom du périphérique
%busy : pourcentage de temps durant lequel le disque sert la requête
avque : nombre moyen de requête dans la file d’attente
r+w/s : lecture/écriture effectuée par seconde
blks/s : blocs de 512 octets transférés par seconde.
avwait : temps moyen d’attente dans la file d’attente
avserv : temps moyen de service pour une requête

sar-d5.busy < 20%, sar-d5.avwait < sar-d5.avserv, sar-d5.avserv < 50ms


# sar –q : file d’attente en exécution

runq-sz : file d’attente des processus en attente d’exécution
%runocc : % de temps durant lequel la file d’attente contient des processus
swpq-sz : file d’attente des processus swappés en attente d’exécution
%swpocc : % de temps durant lequel la file d’attente de swap est occupée par des processus

sar-q5.runq.sz < 5

# sar –b : activité des buffers et cache
bread/s : nombre de lecture/s du disque vers le cache
lread/s : nombre de lecture /s dans le cache
%rcache : taux de réussite d’accès en lecture dan le cache
bwrit/s : nombre d’écriture/s du cache vers le disque
lwrit/s : nombre d’écriture/s dans le cache
%wcache : taux de réussite d’accès en écriture dans le cache
pread/s : nombre de lecture/s à l’aide de l’appel système physio()
pwrit/s : nombre d’écriture/s à l’aide de l’appel système physio()

sar-b5.rcache > 95% et sar-b5.wcache > 65%

# sar –v : activité des tables du noyau
proc-sz : processus actuellement exécutés / processus max (nproc)
inod-sz : inodes actuellement en mémoire / inodes max
file-sz : taille de la table des fichiers / valeur maximale
thrd-sz :

 

3) iostat

La commande iostat fournit essentiellement des statistiques concernant l’activité des disques.

En général, la commande iostat est exécutée avec un argument d’intervalle et un argument de nombre rapports souhaités.

ex:

# iostat 2 5 # exécute 5 fois iostat avec un intervalle de 2 secondes entre chaque

Sans argument, iostat fournit les statistiques depuis le dernier démarrage du système.
Avec argument(s), le premier rapport correspond aux statistiques depuis le démarrage du système.

Pour pouvoir bénéficier de iostat, il convient d’autoriser l’historique de l’activité des disques.

# smit chgsys    (Change / Show Characteristics of Operating System)

Le champs ci-dessous doit être à « true »
Continuously maintain DISK I/O history              true

iostat [ -s ] [ -a ] [ -d | -t ] [ -T ][ -m ][ PhysicalVolume … ] [ Interval [Count ] ]

-a affiche les statistiques de chaque carte
-d affiche uniquement les statistiques concernant les disques
-s affiche les statistiques du système
-m affiche les statistiques par ‘chemin’ (si Multi-Path I/O activé)
-t affiche uniquement les statistiques concernant l’activité tty (terminaux et pseudo-terminaux) et cpu
-T rajoute l’heure à chaque ligne

ex:
# iostat -a

System configuration: lcpu=2 disk=88

tty:      tin         tout   avg-cpu:  % user    % sys     % idle    % iowait
0.0          1.3               2.4      1.7       94.9       0.9

Adapter:                   Kbps      tps    Kb_read   Kb_wrtn
scsi0                     34.7       3.2    4269943  25627446

Paths/Disks:       % tm_act     Kbps      tps    Kb_read   Kb_wrtn
hdisk0_Path0           1.5      34.7       3.2    4269943  25627446

Adapter:                   Kbps      tps    Kb_read   Kb_wrtn
scsi1                     30.3       3.0     490822  25630770

Paths/Disks:       % tm_act     Kbps      tps    Kb_read   Kb_wrtn
hdisk1_Path0           1.5      30.3       3.0     490822  25630770

Adapter:                   Kbps      tps    Kb_read   Kb_wrtn
fcs0                     1444.3       7.6   18845371  1224352295

Paths/Disks:       % tm_act     Kbps      tps    Kb_read   Kb_wrtn
hdisk2                 0.0       0.0       0.0          0         0
hdisk8                 0.0      31.3       0.2        895  26921915
(…)

# iostat -t

System configuration: lcpu=2

tty:      tin         tout   avg-cpu:  % user    % sys     % idle    % iowait
0.0          1.3               2.4      1.7       94.9       0.9

 

  • Interpréter les résultats

avg-cpu (activité CPU)
%usr : % de temps CPU utilisateur
%sys : % de temps CPU système
%idle : % de temps d’inactivité (run queue vide)
%iowait : % de temps d’attente I/O

tty (activité des terminaux et pseudo-terminaux)
tin : nombre de caractères lus par seconde
tout : nombre de caractères écrits par seconde

disks (activité des disques)
%tm_act : % d’activité du disque
%Kbps : données transférées en kbytes par seconde (Kb_read + kbytes)
Kb_read : données lues en kbytes
kbytes : données écrites en kbytes
tps : nombre de transferts par seconde

 

4) Accounting

Le service « accounting » collecte les données d’utilisation des ressources système et génère des rapports statistiques quotidiens qui peuvent être utilisés pour facturer l’utilisation ou résoudre des problèmes de performance.
Ces rapports se trouvent sous /var/adm/acct/sum et se présentent sous la forme « rprtMMJJ » (MM pour le mois et JJD pour le jour).
Chaque 1er jour du mois, un rapport mensuel est crée et les rapports quotidiens sont supprimés.
Ce rapport mensuel se trouve sous /var/adm/acct/fiscal et se présente sous la forme « fiscrptMM » (MM pour le mois).

Ce service peut être d’une aide important, il fournit les informations suivantes :

–    dernière connexion des utilisateurs
–    nombre de sessions, temps de connexion
–    statistiques par utilisateur (consommation CPU, mémoire & disques, temps de connexion, nombre de processus, etc.)
–    statistiques par commande (consommation CPU, mémoire & disques)

Il est possible de différencier les plages horaires importantes via le fichier /etc/acct/holidays en définissant les plages horaires « Prime Time » et « Non-Prime Time » ; les deux plages sont différenciées dans les rapports. Le fichier « holidays » sert à également à définir les jours fériés.

Pour pouvoir utiliser ce service, il faut avoir installé le package « bos.acct »

ex:

# lslpp -l bos.acct

Fileset                      Level  State      Description
—————————————————————————-
Path: /usr/lib/objrepos
bos.acct                  5.2.0.75  COMMITTED  Accounting Services

Path: /etc/objrepos
bos.acct                   5.2.0.0  COMMITTED  Accounting Services

Pour pouvoir utiliser le service « accounting », il faudra également ordonnancer d’une manière ou d’une autre (ex en crontab) les traitements suivants :

* Pour générer les rapports quotidiens (sous /var/adm/acct/sum)
/usr/lib/acct/runacct

* Pour vérifier les problèmes d’espace
/usr/lib/acct/ckpacct

ckpacct vérifie l’espace libre sous /var/adm ; si le seuil fixé est dépassé, un message est affiché à la console, un mail est envoyé à root et turnacct est appelé pour suspendre la collecte des informations.

ckpacct vérifie la taille de /var/adm/pacct ; si le seuil fixé est dépassé, turnacct est appelé avec l’option switch ce qui génère le fichier pacct devient pacctN et pacct est réinitialisé.

* Pour analyser l’utilisation des disques

/usr/lib/acct/dodisk

Les FS doivent avoir le paramétre « account = true » dans leur config (se rendre dans /etc/filesystems pour vérifier)
Le fichier concerné est /var/adm/acct/nite/dacct

* pour générer les rapports mensuels  (sous /var/adm/acct/fiscal)
/usr/lib/acct/monacct


Exemple de fichier /var/adm/acct/sum/rprtMMJJ

May 24 23:20 2007 DAILY REPORT FOR AIX Page 1

from Wed May 23 23:20:02 2007
to   Thu May 24 23:20:02 2007
1       openacct
1       runacct
1       acctcon1

TOTAL DURATION: 1440 MINUTES

LINE    MINUTES PERCENT # SESS  # ON    # OFF
ftp14911        0       0       1       1       1
pts/1   1440    100     2       1       1
pts/2   1440    100     1       1       1
TOTALS  4323    —      10      6       6

LINE : console, pty ou tty utilisée
MINUTES : durée d’utilisation en minutes
# SESS : nombre de nouvelles connexions
# ON : idem # SESS
# OFF : nombre de déconnexions

May 24 23:20 2007 DAILY USAGE REPORT FOR AIX Page 1

LOGIN    CPU       CPU       KCORE     KCORE     CONNECT   CONNECT   DISK      FEES      # OF        # OF   # DISK
UID         NAME     PRIME     NPRIME    PRIME     NPRIME    PRIME     NPRIME    BLOCKS              PROCS       SESS   SAMPLES

0           TOTAL    60        84        732189    253197    1496      2827      0         0         1522158     10     0
0           root     31        69        8375      47173     540       1439      0         0         1413981     4      0
1           daemon   0         0         89        147       0         0         0         0         2695        0      0

UID : User ID
LOGIN NAME : nom de l’utilisateur
CPU PRIME/NPRIME : temps CPU pour tous les processus de l’utilisateurs (en minutes)
KCORE PRIME/NPRIME : total de mémoire utilisée par les processus (en kb par minute)
CONNECT PRIME/NPRIME : total de temps de connexion de l’utilisateur (en minutes)
DISK BLOCKS : total moyen de l’espace utilisé par l’utilisateur pour les FS ayant l’option « accounting » activée
FEES : Total de enregistrements de facturation calculés par la commande chargefee (pour une facturation à la requête (ex: restauration de fichier)
# OF PROCS : Total de processus appartenant à l’utilisateur
# OF SESS : nombre de connexion de l’utilisateur

May 24 23:20 2007 DAILY COMMAND SUMMARY Page 1

TOTAL COMMAND SUMMARY
COMMAND      NUMBER    TOTAL     TOTAL    TOTAL       MEAN     MEAN       HOG       CHARS    BLOCKS
NAME         CMDS   KCOREMIN   CPU-MIN  REAL-MIN    SIZE-K   CPU-MIN    FACTOR    TRNSFD     READ

TOTALS      1522158 985384.00    144.01 388300.31   6842.44      0.00      0.04 8.372e+10    112.00

oracle        22492 878491.25     31.72   9289.43  27694.97      0.00      0.34 2.986e+10      0.00
java              1  48952.55      3.37   1435.73  14528.00      3.37      0.23 2.741e+07      0.00
dsmc             10  28065.89      3.59      5.95   7826.09      0.36     60.28 1.861e+09      0.00
ksh          280796   8080.41     25.18   4365.03    320.85      0.00      0.58 1.292e+09      0.00
(…)

COMMAND NAME : nom de la commande exécutée
NUMBER CMDS : nombre de fois où la commande est exécutée
TOTAL KCOREMIN : total de mémoire utilisée par la commande (en kb par minute)
TOTAL CPU-MIN : temps CPU utilisé par la commande (en minutes)
TOTAL REAL-MIN : temps réel écoulé pour la commande (en minutes)
MEAN SIZE-K : taille moyenne de mémoire utilisée par la commande en minutes-CPU
MEAN CPU-MIN : nombre moyen de minutes-CPU par exécution de la commande (= TOTAL CPU-MIN / COMMAND NAME)
HOG FACTOR : temps CPU total disponible consommé par le processus durant son exécution
CHARS TRNSFD : nombre de caractères transférés par la commande par les appels système read et write
BLOCKS READ : nombre d’opérations de lecture et d’écriture des blocs physiques effectuées par la commande

May 24 23:20 2007 MONTHLY TOTAL COMMAND SUMMARY Page 1
TOTAL COMMAND SUMMARY
COMMAND      NUMBER    TOTAL     TOTAL    TOTAL       MEAN     MEAN       HOG       CHARS    BLOCKS
NAME         CMDS   KCOREMIN   CPU-MIN  REAL-MIN    SIZE-K   CPU-MIN    FACTOR    TRNSFD     READ

TOTALS     34069395 6.451e+07   4138.80 2.088e+06  15585.73      0.00      0.20 1.524e+12   1502.00
oracle       431267 4.477e+07   1445.00 344211.16  30979.91      0.00      0.42 2.843e+11      0.00
java             23 1.212e+06     83.04  33029.33  14601.56      3.61      0.25 6.367e+08      0.00
(…)

May 24 23:20 2007 LAST LOGIN Page 1

(…)
00-00-00  ldap        00-00-00  toto        07-05-24  root

Nota Bene : l’écriture 1.123e+9 est égale à 1.123×10 puissance 9 soit 1,123,000,000
et l’écriture 1.123e-9 est égale à 1.123×10 puissance -9 soit 0,000000001123

L’éditeur vi

Vi est l’éditeur de texte standard sous Unix, il est essentiel d’en connaître les rudiments.

Il possède plusieurs modes de fonctionnement, le mode insertion qui permet d’ajouter du texte et le mode commande qui permet d’interagir avec le document.

Pour passer en mode commande, il faut utiliser la commande « Echap ».

Pour passer en mode insertion, il faut utiliser une commande d’ajout de texte (cf ci-dessous).

Voici un descriptif étendu des commandes de vi.

 

 

Entrée dans vi

 Commandes  Description
vi nomdefichier édite le fichier indiqué
vi nomdefichier1 nomdefichier2 édite consécutivement les fichiers 1 & 2 (via :n)
.exrc fichier contenant le profil de vi
vi -r liste les fichiers sauvegardés en swap
vi -r nomdefichier récupère le fichier ; utile si on éditait le fichier et qu’un plantage est survenu
:set all affiche toutes les options
:set nu ou :set number affiche les numéros de ligne
:set list affiche les caractères de contrôle d’un fichier

 Lecture, écriture, sortie

 Commandes  Description
:w enregistre le fichier
:w nomdefichier1 enregistre le fichier dans nomdefichier1
:w >> nomdefichier1 enregistre le fichier à la fin de nomdefichier1
:r nomdefichier1 ajoute le contenu du fichier à la suite du curseur
:r! ls ajoute le résultat de la commande shell « ls » à la suite du curseur
. répète la dernière commande
:! quitte la commande shell (commande de filtrage)
:wq ou ZZ sauvegarde le fichier et quitte vi

Déplacement

 Commandes  Description
h se déplace d’un caractère vers la gauche
l se déplace d’un caractère vers la droite
k ou <Ctrl>p se déplace vers le haut
j ou <Ctrl>n se déplace vers le bas
^ se déplace sur le 1er caractère non blanc de la ligne courante
$ se déplace en fin de ligne courante
<CR> ou + se déplace en début de ligne suivante
se déplace en début de ligne précédente
G se déplace en fin de fichier
nG se déplace à la ligne n
$ se déplace sur le dernier caractère de la ligne
0 se déplace sur le 1er caractère de la ligne
w se déplace d’un mot vers la droite (un signe de ponctuation = un mot)
W se déplace d’un mot vers la droite (ponctuation ignorée)
b se déplace d’un mot vers la gauche (un signe de ponctuation = un mot)
B se déplace d’un mot vers la gauche (ponctuation ignorée)
e se déplace jusqu’au dernier caractère du mot suivant (un signe de ponctuation = un mot)
E se déplace jusqu’au dernier caractère du mot suivant (ponctuation ignorée)
H se déplace en 1ère ligne de l’écran
M se déplace en ligne au milieu de l’écran
L se déplace en dernière ligne de l’écran
( se déplace en début de la phrase en cours
) se déplace en début de phrase suivante
{ se déplace en début de paragraphe en cours
} se déplace  en début de paragraphe suivant

Recherche de texte

 Commandes  Description
/texte recherche le mot « texte » vers le bas
?texte recherche le mot « texte » vers le haut
n continue la recherche dans la même direction
N continue la recherche dans la direction opposée
<Ctrl>f Défilement d’un écran vers le bas
<Ctrl>d Défilement d’un demi-écran vers le bas
<Ctrl>b Défilement d’un écran vers le haut
<Ctrl>u Défilement d’un demi-écran vers le haut
<Ctrl>g affiche le numéro de ligne en cours

Suppression de texte

 Commandes  Description
x supprime le caractère en cours
dw supprime le mot en cours à partir du curseur (tient compte de la ponctuation)
dW supprime le mot en cours à partir du curseur (ne tient pas compte de la ponctuation)
dd supprime la ligne en cours
d) ou d$ supprime à partir du curseur et jusqu’à la fin de la ligne
d} supprime le paragraphe en cours
dG supprime la ligne en cours jusqu’à la fin
d^ supprime le début de la ligne jusqu’à curseur
u annule la dernière modification
U restaure la ligne en cours qui vient d’être modifiée

Ajout de texte

 Commandes  Description
i ajoute le texte avant le curseur
I ajoute le texte avant le 1ère caractère non blanc de la ligne en cours
a ajoute le texte après le curseur
A ajoute le texte à la fin de la ligne en cours
o ajoute une ligne après la ligne en cours
O ajoute une ligne avant la ligne en cours
<esc> repasse en mode commande

Déplacement de texte

p colle le dernier texte supprimé après le curseur
P colle le dernier texte supprimé avant le curseur
J joint la ligne en cours et la ligne suivante

Présentation de NTFS

Présentation du système de fichier NTFS de Microsoft Windows.

 1) Gérer les Permissions NTFS

  •  Description

NTFS (Windows NT File System) est un système de fichiers propriétaire de Windows, disponible, entre autres, sur Windows 2000 et 2003. Ce système de fichiers permet de :

– définir précisément le niveau d’accès aux ressources des utilisateurs
– compresser les données (gain d’espace disque mais perte de performance)
– gérer des quotas
– crypter des données avec EFS (Encrypting File System)

Pour chaque fichier & dossier contenu sur une partition NTFS, est générée une liste de contrôle d’accès appelée ACL (Access Control List). Cette liste contient les comptes et les groupes ayant un accès ainsi que le type d’accès. Bien entendu ce type de permission n’est disponible que sur NTFS et non pas sur les systèmes de fichiers FAT ou FAT32.

Voici à quoi correspondent les permissions NTFS disponibles :

Sur un dossier

Lecture : Permet d’afficher les fichiers et sous-dossiers ainsi que leurs attributs et les autorisations associées.

Ecriture : Permet de créer des fichiers et des sous-dossiers.

Lecture & exécution : Permet de parcourir les dossiers + droits de lecture.

Modification : Permet de supprimer le dossier + droits d’écriture, de lecture et d’exécution.

Contrôle Total : Permet de modifier les permissions, de prendre possession du dossier, de supprimer des sous-dossiers et des fichiers + droits de modification.

Sur un fichier

Lecture : Permet de lire le fichier, d’afficher les attributs et les autorisations disposées sur celui-ci.

Ecriture : Permet de remplacer le fichier, de modifier les attributs (lecture seule, caché, archive et système) + droits de lecture.

Lecture & exécution : Permet d’exécuter l’application (un .exe, .bat, etc.) + droits de lecture.

Modification : Permet de modifier et supprimer le fichier + droits d’écriture, d’exécution et de lecture.

Contrôle Total : Permet de modifier les autorisations, prendre possession du fichier + droits de modification.

Il est possible d’octroyer des permissions plus précisément grâce aux autorisations spéciales (il y en a 13, ex « lire les attributs étendus », « création de dossiers / ajout de données », « modifier les autorisations », etc.). Pour accéder aux autorisations spéciales, rendez-vous dans les propriétés d’un fichier ou d’un dossier puis onglet « Sécurité », « Avancé », « Paramètres du contrôle d’accès » et « Autorisations ».

 

  • Autorisations Multiples

Compte tenu de la possibilité pour un utilisateur d’appartenir à plusieurs groupes, des cas d’autorisations multiples sur un même fichier ou dossier sont possibles.

Dans ces cas, les règles sont les suivantes :

  • les droits sur un fichier sont prioritaires sur les droits sur un répertoire
  • l’autorisation « Refuser » est prioritaire sur toutes les autres
  • pour le reste, les permissions se combinent entre elles (par ex: si un utilisateur a un droit de lecture sur un fichier mais fait également partie d’un groupe ayant un droit d’exécution, l’utilisateur aura en réalité un droit de lecture & exécution).

 

  • Héritage

Par défaut, lorsque vous accordez des droits sur un dossier à un utilisateur / groupe, il a automatiquement les mêmes droits sur l’ensemble des fichiers et des sous-dossiers contenus dans ledit dossier.
Il est toutefois possible de supprimer l’héritage du répertoire parent (ou de la partition).
Dans ce cas, le répertoire qui n’hérite plus des permissions de son parent devient lui même parent de l’ensemble des fichiers et répertoires qu’il contient.
Lorsque vous bloquez l’héritage, vous avez la possibilité de copier les permissions précédemment héritées ou de les supprimer pour ne conserver que celles explicitement accordées.

 

  • Copie et déplacement

La copie et le déplacement de fichier/répertoire ont une incidence sur les permissions ; les règles sont les suivantes :

  • En cas de copie, le fichier/répertoire hérite des permissions du répertoire cible.
  • En cas de déplacement dans une même partition NTFS, les permissions sont conservées.
  • En cas de déplacement d’une partition NTFS vers une autres, le fichier/répertoire hérite des permissions du répertoire cible.

 

2) La Compression

Compresser des fichiers ou des répertoires n’est plus forcément utile compte tenu de l’augmentation des volumétries disques.

Si vous êtes tout de même amené à utiliser cette fonctionnalité, notez que NTFS alloue l’espace disque en fonction de taille du fichier non compressé, il est donc, par exemple, impossible de copier un fichier compressé sur une partition si l’espace pour le fichier non compressé n’est pas disponible.

Concernant la compression de fichiers censés être utilisés par une application, ce n’est vraiment par recommandé car dans ce cas, Windows décompresse le fichier lorsque le fichier doit être utilisé et le recompresse une fois qu’il est libéré ; il peut en résulter une perte notable de performance.

  • Copie et déplacement

La copie et le déplacement de fichier/répertoire ont une incidence sur la compression ; les règles sont les suivantes :
En cas de copie, le fichier/répertoire hérite de l’état de compression du répertoire cible.
En cas de déplacement dans une même partition NTFS, l’état de compression est conservé.
En cas de déplacement ou de copie d’une partition NTFS vers une autre, le fichier/répertoire hérite de l’état de compression du répertoire cible.

 

3) Les Quotas

Dans certains cas, il peut être utile d’activer les quotas, en cas de serveur de fichiers par exemple.
Il faut tout d’abord noter que l’utilisation prise en compte est celle des données non compressées, qu’elle est fonction du propriétaire des fichiers et des répertoires et que les quotas sont indépendants par partition.

Pour activer/configurer les Quotas, rendez vous dans les propriétés de la partition puis dans l’onglet Quota.

Pour définir un quota à tous les utilisateurs, il vous faut renseigner les champs « limiter l’espace disque à », « définir le niveau d’avertissement » puis cocher la case « Refuser de l’espace disque aux utilisateurs qui dépassent leur limite de quota ».

Pour définir un quota à un utilisateur, rendez vous les propriétés du disque puis « entrées de quota ». Créez une entrée  de quota dans le menu quota en sélectionnant un utilisateur ; ici indiquez la limite ainsi que le niveau d’avertissement.

4) Crypter ses données avec EFS

EFS (Encrypting File System) permet de sécuriser ses données en les cryptant à l’aide d’une clé privée. Lorsqu’un fichier ou un dossier a été crypté, seul l’utilisateur peut y accéder ; toutefois, l’administrateur reste capable de le décrypter (utile si la clé privée est perdue).
Lors du cryptage, EFS génère automatiquement des clés de récupération et a une besoin d’au moins un agent de récupérationde défini.
Pour Crypter un dossier, il suffit de se rendre dans ses propriétés, dans l’onglet « général », puis « avancés » et enfin « crypter le contenu pour sécuriser les données ».

En cas de perte de la clé privée du propriétaire, l’agent de récupération peut accéder au fichier en utilisant sa propre clé privée. Par exemple, l’utilisateur toto a crypté un répertoire et a quitté l’entreprise ; son compte a été supprimé. Dès lors, pour accéder au répertoire crypté, un administrateur doit réimporter le certificat préalablement exporté (via mmc, ajouter/supprimer un composant logiciel enfichable & Certificats) ; l’importation, elle, s’effectue via Outils d’administration et Certificats.

Commandes WMIC

1.   Affiche les services en état running

wmic /node:<server_name> service where (state= »running ») get caption,name,state

Caption                                  Name                      State

Application Management                   AppMgmt                   Running

Windows Audio                            AudioSrv                  Running

Background Intelligent Transfer Service  BITS                      Running

SMS Agent Host                           CcmExec                   Running

(…)

 

2.   Affiche les services ayant comme nom “test”

wmic /node:<server_name>  service where (name= »test ») get caption,name,state

Caption               Name  State

Office Source Engine  test   Stopped

 

3.   Démarre les services ayant comme nom “test”

wmic /node:<server_name>  service where (name= »test ») call startservice

Exécution (\\POSTE_UC\ROOT\CIMV2:Win32_Service.Name= »test »)->startservice()

Méthode exécutée.

Paramètres de sortie:

instance of __PARAMETERS

{

        ReturnValue = 0;

};

 

4.   Arrête les services ayant comme nom “test”

wmic /node:<server_name>  service where (name= »test ») call stopservice

Exécution (\\POSTE_UC\ROOT\CIMV2:Win32_Service.Name= »test »)->stopservice()

Méthode exécutée.

Paramètres de sortie:

instance of __PARAMETERS

{

        ReturnValue = 0;

};

 

5.   Affiche la liste courte des processus en cours

wmic /node:<server_name> process list brief

HandleCount  Name                           Priority  ProcessId  ThreadCount  WorkingSetSize

0            System Idle Process            0         0          2            28672

487          System                         8         4          70           262144

23           smss.exe                       11        388        2            397312

(…)

 

6.   Affiche la liste courte des processus en cours, toutes les 2 secondes

wmic /node:<server_name> process list brief /every:2

 

7.   Affiche les processus ayant comme nom “notepad.exe”

wmic /node:<server_name> process where « name like ‘notepad.exe' » get caption,processid

Caption      ProcessId

notepad.exe  2608

notepad.exe  1204

 

  1. Affiche les processus avec leur date de création et leur ligne de commande ayant comme nom “notepad.exe”

 

wmic process where « name like ‘notepad.exe' » get caption,creationdate,commandline

Caption             CommandLine                                                                          CreationDate

notepad.exe      « C:\WINNT\system32\NOTEPAD.EXE »       H:\wmic.txt                  20081112134024.089266+060

notepad.exe      « C:\WINNT\system32\notepad.exe »                                            20081112153800.942175+060

 

9.   Kill les processus ayant comme nom “notepad.exe”

wmic /node:<server_name> process where « name like ‘notepad.exe' » delete

Suppression de l’instance \\POSTE_UC\ROOT\CIMV2:Win32_Process.Handle= »2608″

La suppression de l’instance a réussi.

Suppression de l’instance \\POSTE_UC\ROOT\CIMV2:Win32_Process.Handle= »1204″

La suppression de l’instance a réussi.

 

10.Arrête les processus ayant comme nom “notepad.exe”

wmic /node:<server_name> process where « processid like ‘4020’ » call terminate

Exécution (\\POSTE_UC\ROOT\CIMV2:Win32_Process.Handle= »4020″)->terminate()

Méthode exécutée.

Paramètres de sortie:

instance of __PARAMETERS

{

        ReturnValue = 0;

};

 

11.Affiche le owner des processus ayant comme nom “notepad.exe”

wmic /node:<server_name> process where « name like ‘notepad.exe' » call getowner

Exécution (\\POSTE_UC\ROOT\CIMV2:Win32_Process.Handle= »2796″)->getowner()

Méthode exécutée.

Paramètres de sortie:

instance of __PARAMETERS

{

        Domain = « CIB »;

        ReturnValue = 0;

        User = « toto »;

};

 

12.Afficher la charge des processeurs

wmic /node:<server_name> cpu get loadpercentage

LoadPercentage

3

11

 

13.Reboot le serveur

wmic /node:<server_name> call reboot

Paramètres de sortie:

 

14.Affiche les répertoires partagés

wmic /node: <server_name> share list /format:table

AccessMask       AllowMaximum  Description                    Name                           Path                             Status

                        TRUE                Default share                C$                                C:\                              OK

                        TRUE                                                   Dll                        D:\Dll                    OK

                        TRUE                                                   TOTO_v5.3.3                D:\TOTO_v5.3.3           OK

                        TRUE                                                   Datasynapse                  C:\Datasynapse             OK

                        TRUE                Remote IPC                  IPC$                                                                OK

(…)

Augmenter la taille du catalogue

La taille du catalogue CFT, c’est à dire le nombre de postes du catalogue, doit être suffisant pour pouvoir conserver la trace des envois sur 3 jours.

1) Lister le catalogue pour avoir le nombre total de postes

# CFTUTIL LISTCAT
Il y a un affichage en mode BRIEF du catalogue.
Attendre la fin. On voit alors le nombre de postes occupés & le nombre de postes libres.
La somme donne le renseignement cherché.

2) Mettre à jour le fichier cftinit

# vi ./filusr/cftinit

nbreccat=xxxx
nbreccom=xxxx

Ces deux paramètres se trouvent en tête du fichier.
Ce fichier sert à CFT au moment où l’on lance la commande d’initialisation de CFT.

3) Mise à jour dynamique de la taille du catalogue

# cftstop

Attendre la fin de tous les « process » de CFT
Le vérifier  pa la commande ps –eaf | grep CFT

# ipcs | grep cft

si    ipcs     q    q1
si    ipcs    m    m1
si    ipcs    s    s1

# ipcrm –q n1 –q n2
# ipcrm –m m1 –m m2
# ipcrm –s s1 –s s2

# cd/xxx/cft/fildat
# ls –al

Vérifier que l’on n’a pas de fichiers de type : cft@…
Sinon faire : rm –f cft@*

# cftcatal

Répondre aux questions et en particulier donner le nombre total de postes.

Do you want to remove the backup file named « cft_cata…..Z » (y/n)
Répondre (n) pour conserver le fichier sauvegarde compressé du catalogue.

# cftstart

[TNG/NSM] Les Communications CCI

1) Description du protocole CCI

CCI est le protocole de communication Computer Associates servant au dialogue entre les différents serveurs TNG.

Le fichier de configuration le plus important est ccirmtd.prf (souvent sous /…/unicenter/cci/config/<hostname>) qui précise aux processus CCI les communications à établir lors du démarrage. Il n’y a qu’une communication locale (ligne LOCAL) mais il peut y avoir plusieurs communications lointaines (lignes REMOTE).

Le format d’une ligne de ce fichier est le suivant:
[LOCAL,REMOTE] <hostname> <hostname> 32768 [startup,nostart] ALIAS=<nom_court>
– <hostname> est le hostname de la machine.
– <nom_court> doit faire au plus 8 caractères. C’est le nom CCI de la machine, celui que l’on doit utiliser lorsqu’on déclare cette machine dans le fichier ccirmtd.rc d’une machine NT.
– 32768 est une taille invariable de buffers.
– startup indique au CCI qu’il doit engager la liaison dès son démarrage tandis que nostart le met en attente d’une demande externe de communication.

ATTENTION : Par défault, les connexions CCI ne sont pas établies avec les machines distantes. Un rmtcntrl rec nom_serveur permettra la reconnexion CCI. Il faudra ensuite refaire un logon sur cette machine.

 

2) Fonctionnement de CCI

Les processus CCI sont au nombre de 3. On peut vérifier qu’ils sont là soit par un unifstat ( CCI Server, CCI Remote Server et CCI Clean Up doivent être « Running » ) soit par un ps -ef | grep cci qui doit montrer les 3 processus ccirmtd, cciclnd, caiccid.
Les commandes principales de maintenance CCI se trouvent dans /…/unicenter/cci/bin.
rmt status donne l’état des communications éloignées ( rmt pour remote).
ccii donne l’état des liaisons par composant.
On peut enfin tester efficacement les couches basses de CCI par deux commandes qui fonctionnent ensemble :
ccir (r pour receive) qui se met en attente de messages de test.
ccis <nom cci de machine> <nombre de message> (s pour send) qui envoie des messages de test à ccir.

Exemple :
ccir sur la machine serveur1
ccis serveur1 1 sur la machine serveur2 qui envoie  message de test CCI vers le ccir de serveur1

sur serveur 1
…/unicenter/EM/3.1/cci/bin/ccir
From server2: 256.This is a test message

sur serveur 2
…/unicenter/cci/bin/ccis serveur1 1
Microseconds per transaction [1007]

3) Problèmes NT/UNIX

Souvent, il s’agit de problèmes de communications CCI entre les machines clientes et serveurs. Il existe différents outils permettant de vérifier que celles-ci sont correctes.
Voici les principales commandes disponibles en cas de problèmes :
– Vérifier sur la console d’administration Windows NT que le service « CA-Unicenter (Remote) » est bien démarré ( Panneau de configuration – Services ).

  • via « rmtcntrl », vous devez vérifier l’état des connexions CCI et les gérer. Par exemple :

rmtcntrl status –> Etat des connexions CCI
rmtcntrl reconnnect nom_serveur –> Rétablit la connexion CCI avec nom_serveur
rmtcntrl disconnect nom_serveur –> Coupe la connexion CCI avec nom_serveur

  • Pour arrêter et relançer la couche CCI Remote ( en cas de dysfonctionnement ou de modification de uniapp.map ou ccirmtd.rc ) :

Sur Windows :
ccicntrl stop rmt
ccicntrl start rmt
ccicntrl show
 –> Pour vérifier le statut des services.

Sur Unix :
ps -ef | grep ccirmtd
kill -3 <pid>

ATTENTION : Par défault, les connexions CCI ne sont pas établies avec les machines distantes. Un rmtcntrl rec nom_serveur permettra la reconnexion CCI. Il faudra ensuite refaire un logon sur cette machine.

 

  • Vérifier la présence du processus ccirmtd (sur Unix)

ps -ef | grep ccirmtd

  • Vérifier la version de ccirmtd (sur Unix)

what $CAIGLBL0000/cci/bin/ccirmtd

  • Vérifier que le server star est démarré (sur Unix)

unifstat | grep Star

  • Identifier les serveurs avec lesquels votre machine peut communiquer (sur Unix)

ccii

  • Vérifier si CCI est démarré (sur Windows)

CFT (Cross File Transfer)

Moniteur de transferts de fichiers sur tout système, de la société Sopra

CFT est essentiellement utilisé dans le secteur bancaire du fait de son caractère sécurisé.

Les fonctions principales d’un moniteur de transfert sont :

•    Assurer l’échange de données entre plusieurs types de systèmes d’exploitation (MVS, AIX, Windows NT, etc…)
•    Supporter un grand nombre de types de réseau (ex : TCP/IP, SNA, X.25, etc…)
•    Assurer le transcodage des données lié aux différents systèmes d’exploitations (ex : EBCDIC => ASCII, etc…)
•    Optimiser les flux en utilisant des fonctions de compression
•    Assurer un suivi précis des flux, pour un pilotage efficace
•    Sécuriser les échanges en certifiant les partenaires

Le moniteur CFT crée et maintenu par la société Axway (Sopra Group) supporte toutes ces fonctions


Un partenaire est défini pour un serveur. Pour communiquer, les deux serveurs doivent s’être mutuellement identifiés en tant que partenaire.

Le transfert de fichier entre deux moniteurs suit des étapes précises :

a.    Le moniteur initiateur vérifie les informations qui lui ont été fournies lors de la demande et défini un IDT pour cette transaction.

b.    Pour établir la connexion entre les deux moniteurs, ils doivent s’authentifier mutuellement en utilisant des références stockées dans leurs configurations. (Voir CFTPART)

c.    Ils doivent ensuite s’accorder au niveau protocole de transfert (type de protocole, taille des paquets échangés, type de compression…) (Voir CFTPROT)

d.    Une fois ces étapes réalisées, l’échange des données est réalisé sur la base de l’IDF.

e.    En fin de transaction, chacun des deux moniteurs peut déclencher des procédures de fin de transfert, pour initier des traitements sur le ou les fichiers transmis ou pour valider le transfert (Acquittement).

 

1)    Protocoles utilisés

PESIT : Echange de données entre les banques pour la télécompensation
ETEBAC : Echange de données entre les banques et leurs clients
ODETTE : Echange de données entre les constructeurs automobiles et les équipementiers

Rôle des protocoles
Compression des données
Confidentialité par le chiffrage
Régulation des transferts grâce aux points de synchronisation
Transcodage en milieu hétérogène (CFT maintient les codes ASCII ISO 46 & EBCDIC)

 

2)    Les partenaires

Un partenaire au sens CFT équivaut à l’hôte distant avec lequel CFT va échanger des fichiers ou des messages.
Dans un but de renforcement de la sécurité, pour pouvoir communiquer avec un partenaire, il devra avoir été configuré dans le fichier partenaire.
Ledit partenaire pourra être émetteur ou récepteur de fichiers.
Lorsqu’une communication est établie, les paramètres SPART et RPART sont reconnus de manière mutuelle.
Pour chaque partenaire, il faudra définir : le protocole utilisé, le type de système d’exploitation, le code du partenaire, le mot de passe, la liste des IDF autorisés, l’adresse IP

 

3)    Paramétrer les transferts

La commande à utiliser est CFTSEND. Elle permet de préciser pour chaque IDF, le nom de fichier, ses caractéristiques physiques, certaines actions à effectuer localement (comme la procédure de fin de transfert), la plage horaire autorisée, etc.
Voici quelques paramètres associés à CFTSEND :
–    MODE = REPLACE|CREATE|DELETE
–    ID = Identifiant du transfert  => IDF
–    FNAME = filename|mask|dirname|#filename|#mask|#dirname =>
–    WNAME = filename
–    FACTION = NONE|ERASE|DELETE =>
–    FTYPE
–    FCODE = ASCII|BINARY|EBCDIC

4)    Fonctions Interactives (CFTINT)

CFTINT est un outil permettant de manipuler CFT à travers une série d’écrans interactifs

La commande CFTINT sans paramètre vous affiche le menu ci-dessus.
Il est également possible d’accéder directement aux sous rubriques (dans ce cas, la navigation en amont est impossible).

CFTINT commande-dynamique/mnémonique

CFTINT MNE : affiche la liste des commandes mnémoniques
CFTINT MAC : affiche la liste des commandes dynamiques

Ex : CFTINT listcat : consultation globale du catalogue
CFTINT listpart : consultation globale des partenaires

Grâce à cette interface, il est possible de :
Emettre/Recevoir un fichier/message
Visualiser le catalogue, y faire des tris par choix de critères
Visualiser les paramètres, y faire des tris par choix de critères
Visualiser les partenaires, y faire des tris par choix de critères
Visualiser le journal
Modifier la configuration de CFTINT
Visualiser les caractéristiques du moniteur

Commandes statiques habituelles [ces commandes servent à effectuer des actions local sur l’écran en cours]

CANCEL         : Retour a l’écran appelant.
EXIT           : Sortie de l’application CFTINT.
FIRST          : Revenir au menu principal s’il a été affiche.
HELP           : Obtenir cette aide en ligne.
HELP GEN       : Aide générale.
HELPON <token> : Demander de l’aide sur un mot-clé.
LOG/JOURNAL    : Consulter le journal CFT courant.
TOP         : Aller au début de la liste.
BOTTOM      : Aller en fin de liste.
DOWN/NEXT   : Afficher la page suivante.
UP/PREVIOUS : Afficher la page précédente.

Dans le catalogue, vous pouvez agir sur les transferts via ces commandes :

C – (Champ de saisie) Action relative au transfert :
1,2,3,4,5,6,7,8,9,0 : Afficher l’écran numéro n du mode debug.
(B)rowse            : browser le fichier transféré.
(C)reate            : Création d’une autre requête de transfert sur la base
des données de ce transfert.
(D)ebug             : Visualisation en mode debug.
(E)nd               : Déclaration de transfert exécute.
(F)ast              : Création d’une autre requête simplifiée.
dia(G) protocolaire : Afficher les messages du diagnostic protocolaire du
transfert.
(H)alt              : Interruption du transfert
(relance manuelle ou automatique).
diag (I)nterne      : Afficher les messages du diagnostic interne du
transfert.
(K)eep              : Suspension du transfert (relance manuelle seule).
(N)ew               : Création d’une autre requête a partir d’un écran
vierge.
start f(O)rce       : Force la relance manuelle du transfert même si date
et heure de lancement dépassées.
(P)urge             : Suppression de la requête de transfert, ou poste
catalogue.
(R)eply             : Réponse a un message reçu d’un partenaire.
(S)tart             : Relance manuelle du transfert.
(V)iew              : Visualisation des informations du transfert.
(X)submit           : Ressoumission du batch de fin de transfert (Etat T).
(Z)ero              : Remise d’un transfert en état activable STATE=HOLD,
en mode serveur.
(mise a 0 du DIAGI et passage du DIAGP a « HOLD »)

 

5) Quelques commandes

  • Pour connaître la liste des partenaires avec lesquels communique le serveur

# CFTINT
    3 Consultation des partenaires
    1 Consultation globale
(la liste est également présente dans le cft.cfg)

 

  • Envoyer un message de test entre deux serveurs

# CFTINT
    1 Requête de transferts
    1 Requêtes en émission
    3 Emission simplifiée d’un message

PART : « partenaire du destinataire »
IDM : « objet  du message »
MSG : « texte du message »

vérification de l’envoi
# CFTINT
    2 Consultation du catalogue CFT
    6 Sélection et tri des postes du catalogue

ex :
IDT      =  A29*
(A pour janvier, 29 pour le jour, et * pour toutes les transactions de ce jour)

A noter que la version 2.2 de CFT accepte des fichiers de 2Go maximum

 

  • Déclencher la réception d’un fichier CFT

cftutil recv prt=NOMDUPART,idf=’NOMIDF’

 

  • Recompiler le fichier cft.cfg

cftupdate cft.cfg : recompile le fichier de config
cftutil @ cft.cfg : recompile le fichier de config

 

  • Problème au démarrage de CFT

Supprimer le fichier S_TCP (dans le répertoire fildat de l’installation de cft)

 

  • Lister le catalogue

CFTUTIL LISTCAT

 

  • Purger entièrement le catalogue

CFTUTIL DELETE IDT=* ,PART=*