Chapitre 7

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 57

Chapitre 7

Administration
Système
Commandes
de gestion des utilisateurs
Ajouter un utilisateur:

Syntaxe:
# useradd options login

Options:
-c commentaire
– Le champ de commentaire du fichier de mots de passe du
nouvel utilisateur.

-d rép_perso
– Le nouvel utilisateur sera créé en utilisant rép_perso comme
valeur du dossier personnel de l'utilisateur.
Commandes
de gestion des utilisateurs
-e date_expiration
– La date à laquelle le compte de l'utilisateur sera désactivé. La
date est spécifiée dans le format AAAA-MM-JJ.

-f jours_inactifs
– Le nombre de jours suivant l'expiration d'un mot de passe après
lequel le compte est définitivement désactivé. Une valeur de 0
désactive le compte dès que le mot de passe a expiré, et une
valeur de -1 désactive cette fonctionnalité. La valeur par défaut
est de -1.

-g groupe_initial
– Le nom ou le numéro du groupe de connexion initial de
l'utilisateur.
Commandes
de gestion des utilisateurs
-G groupe,[...]
– Une liste de groupes supplémentaires auxquels fait également
partie l'utilisateur. Chaque groupe est séparé du suivant par une
virgule, sans espace entre les deux. Le comportement par défaut
pour l'utilisateur est de n'appartenir qu'au groupe initial.
-m
– Le répertoire personnel de l'utilisateur sera créé s'il n'existe pas
déjà. Les fichiers contenus dans rép_squelette seront copiés
dans le répertoire personnel si l'option -k est employée ; sinon,
les fichiers contenus dans /etc/skel seront utilisés à la place.
Tous les répertoires contenus dans rép_squelette ou dans
/etc/skel seront également créés dans le répertoire personnel de
l'utilisateur.
Commandes
de gestion des utilisateurs
-M
– Le répertoire personnel de l'utilisateur ne sera pas créé, même si
les réglages globaux au système présents dans /etc/login.defs
consistent en la création de répertoires personnels.
-n
– Un groupe de même nom que l'utilisateur ajouté au système
sera créé par défaut. Cette option désactivera ce comportement
spécifique à Red Hat Linux.
-r
– Cette option est utilisée pour créer un compte système, c.-à-d.
un utilisateur avec un UID plus petit que la valeur de UID_MIN
définie dans /etc/login.defs. Notez que useradd ne créera pas de
répertoire personnel pour un tel utilisateur, et ce quel que soit le
réglage par défaut présent dans /etc/login.defs. Vous devez
spécifier l'option -m si vous désirez la création d'un répertoire
personnel pour un tel utilisateur. C'est une option ajoutée par
Red Hat.
Commandes
de gestion des utilisateurs
-p mot_de_passe
– Le mot de passe chiffré

-s shell
– Le nom du shell de connexion de l'utilisateur. Le comportement
par défaut est de laisser ce compte vide, ce qui fait sélectionner
au système le shell de connexion par défaut.

-u uid
– La valeur numérique de l'ID de l'utilisateur. La valeur doit être
non négative. Le comportement par défaut est d'utiliser la plus
petite valeur d'ID plus grande que 99, et plus grande que celle
de n'importe quel autre utilisateur. Les valeurs comprises entre 0
et 99 sont typiquement réservées aux comptes systèmes.
Commandes
de gestion des utilisateurs
Exemple :
vous voulez créer l'utilisateur toto et :
• inclure le commentaire : utilisateur toto.
• définir son shell : /bin/zsh.
• définir son répertoire personnel : /home/toto.
• recopier le contenu de /etc/skel dans son répertoire.
• faire en sorte qu'il appartienne aux groupes dev et audio.
• faire en sorte que le compte soit désactivé immédiatement après
expiration du mot de passe.

Vous taperez :
# useradd -c "utilisateur toto" -f 0 -G dev,audio -m -k /etc/skel -s
/bin/zsh toto
Commandes
de gestion des utilisateurs
• créer l'utilisateur toto appartenant au groupe video (qui doit exister),
dont le répertoire personnel /home/toto.

# useradd -g video -d /home/toto -s /bin/zsh toto


Commandes
de gestion des utilisateurs
Supprimer un utilisateur:

Syntaxe :
# userdel options login

Le répertoire de l'utilisateur n'est pas supprimé;


Si vous voulez le supprimer, ajoutez l'option -r à la commande.

Exemple:
# userdel -r user1

Exercice 7.1 page 331


Commandes
de gestion des utilisateurs
Modifier un compte utilisateur:
Lorsqu'un compte utilisateur est déjà créé, vous pouvez avoir besoin
de modifier des paramètres. La commande est de la forme :

# usermod options login

Vous pouvez utilisez les mêmes options que celles utilisées avec la
commande useradd. En plus de quelques options spécifiques.

1er Exemple :
# usermod -d /home/toto -m tutu
change le répertoire personnel de tutu en /home/toto.
Commandes
de gestion des utilisateurs
2ème exemple :
# usermod -l toto tutu
change le nom de l'utilisateur tutu en toto.
Pour que ça fonctionne, tutu ne doit pas être connecté à la machine au
moment où l'on tape la commande.

Note:
Pour que les modifications soient effectives, l'utilisateur concerné par
les modifications doit se déloguer puis se reloguer.
Commandes
de gestion des utilisateurs
La commande « chage »
Permet de changer les informations relatives à l'expiration des mots de
Passe.

Syntaxe:
# chage [-l] [-m mindays] [-M maxdays] [-d lastday] [-I inactivedays]➦
[-E expiredate] [-W warndays] username

Options:
-l, --list
Afficher les informations sur l’âge des comptes.
Exemple: # chage -l user1
Commandes
de gestion des utilisateurs
-m, --mindays JOURS_MIN
Définit le nombre minimum de jours entre chaque changement de mot
de passe à MIN_DAYS. Une valeur de zéro pour ce champ indique
que l'utilisateur peut changer son mot de passe quand il le souhaite.

-M, --maxdays JOURS_MAX


Fixer le nombre maximum de jours pendant lesquels un mot de passe
est valable. Quand JOURS_MAX plus DERNIER_JOUR est
exactement inférieur à la date actuelle, l'utilisateur est obligé de
changer son mot de passe avant de pouvoir utiliser son compte.
Commandes
de gestion des utilisateurs
-d, --lastday DERNIER_JOUR
Fixer le nombre de jours, à compter du 1er janvier 1970, où le mot de
passe a été changé la dernière fois. La date peut aussi être exprimée
dans le format AAAA-MM-JJ

-I, --inactive DUREE_INACTIVITE


Fixer le nombre de jours d'inactivité, après qu'un mot de passe ait
dépassé la date de fin de validité, avant que le compte ne soit bloqué.
La valeur DUREE_INACTIVITE est le nombre de jours d'inactivité. Un
utilisateur dont le compte est bloqué doit contacter l'administrateur
système avant de pouvoir utiliser de nouveau le système.
Commandes
de gestion des utilisateurs
-E, --expiredate DATE_FIN_VALIDITE
Fixer la date, ou le nombre de jours à compter du 1er janvier 1970, à
partir de laquelle le compte de l'utilisateur ne sera plus accessible. La
date peut aussi être exprimée dans le format AAAA-MM-JJ (ou le format
plus communément utilisé dans votre région). Un utilisateur dont le
compte est bloqué doit contacter l'administrateur système pour pouvoir
utiliser à nouveau le système. Une valeur de -1 pour
DATE_FIN_VALIDITE aura pour effet de supprimer la date de fin de
validité.

-W, --warndays DUREE_AVERTISSEMENT


Fixer le nombre de jours d'avertissement avant que le changement de
mot de passe ne soit obligatoire. La valeur DUREE_AVERTISSEMENT
est le nombre de jours précédant la fin de validité pendant lesquels un
utilisateur sera prévenu que son mot de passe est sur le point d'arriver
en fin de validité.
Commandes
de gestion des utilisateurs
Gérer le mot de passe d'un utilisateur:
• L'administrateur peut changer n'importe quel mot de passe.
• Un utilisateur normal ne peut changer que son propre mot de passe.

La commande est de la forme :


# passwd options login

Exemple :
# passwd toto

Si l'argument login n'est pas spécifié, le changement de mot de passe


s'applique sur l'utilisateur courant.

Les options de passwd sont :


Commandes
de gestion des utilisateurs
-l: Permet de verrouiller le compte spécifié en préfixant le mot de passe
crypté par le caractère "!". Seul l'utilisateur root peut utiliser cette
option

-u: Déverrouille le mot de passe du compte. Seul l'utilisateur root peut


utiliser cette option

-d: Supprime le mot de passe d'un compte. Le champ réservé au mot


de passe crypté sera supprimé dans le fichier de configuration. Seul
l'utilisateur root peut utiliser cette option

-S: Affiche des informations sur le statut du mot de passe pour un


compte donné. Seul l'utilisateur root peut utiliser cette option
Commandes
de gestion des utilisateurs
Afficher des informations sur un utilisateur:

• La commande whoami affiche l'identité de l'utilisateur courant.

• Les commandes who, users et w permettent de connaître les


utilisateurs actuellement connectés sur la machine.
Commandes
de gestion des groupes
Créer un groupe:

Syntaxe :
# groupadd option groupe

Exemple :
# groupadd modem

Options :
f : Permet de ne pas afficher le message d’erreur lorsque le groupe ou le
GID du nouveau groupe existe déjà.
g: Permet de choisir la valeur numérique du GID du nouveau groupe. Cet
identifiant doit être unique.
r: Permet d'ajouter un groupe système dont le GID est inférieur à 500.
Commandes
de gestion des groupes
Supprimer un groupe:

Syntaxe :
# groupdel groupe
ou bien
# groupdel GID

Remarque:
On ne peut pas supprimer un groupe si c'est le groupe principal d'un
utilisateur.
Commandes
de gestion des groupes
Modifier les informations d’un groupe:

1. En utilisant la commande « usermod »


Exemple :
# usermod -G toto,users,fileshare,dev toto
permet d'ajouter l'utilisateur toto dans les groupes users, fileshare et dev.
Attention :
si vous utilisez la commande usermod -G, il est nécessaire de rappeler
l'ensemble de groupes secondaires auxquels appartient l'utilisateur.

2. En utilisant la commande « gpasswd »


Exemple:
# gpasswd -a user1 grp1 => ajouter user1 à grp1
# gpasswd -d user1 grp1 => supprimer user1 de grp1
Commandes
de gestion des groupes
3. En utilisant la commande « groupmod »
Exemple:
# groupmod –n nv_nom_grp1 grp1

4. En éditant le fichier « /etc/group »


Commandes
de gestion des groupes
Afficher des informations sur un groupe :

# groups user1
=> les groupes auxquels appartient un utilisateur.

# groups
=> les groupes de l'utilisateur courant.
Commandes
de gestion des groupes
Lister les membres d'un groupe:

Aucune commande ne le permet, mais vous pouvez le faire en tapant


par exemple :
# grep -e '^grp1:' /etc/group | cut –d : -f 4

Cette ligne vous indiquera qui sont les utilisateurs du groupe grp1.
Le fichier /etc/passwd
Le fichier /etc/passwd contient les informations relatives à tous les
utilisateurs du système.

Chaque ligne du fichier concerne un utilisateur. Les différents champs


sont séparés par le signe deux points.

Exemple :
login:mot-de-passe:UID:GID:info-utilisateur:répertoire-principal:shell
Le fichier /etc/passwd
• login: l'identifiant que doit entrer l'utilisateur pour s'authentifier.
• mot-de-passe: le mot de passe crypté en md5. Ce champ peut
prendre plusieurs valeurs :
– !! : le compte est désactivé.
– x ou ! : le mot de passe est dans un fichier shadow.
– champ vide : il n'y a pas de mot de passe pour ce compte.
• UID : identifiant unique de l'utilisateur, sous forme de valeur numérique.
L'utilisateur root possède l'UID 0.
Les UID inférieurs à 100 sont réservés aux comptes système.
• GID : identifiant du groupe principal de l'utilisateur.
• info-utilisateur : nom complet et autres informations telles que le
numéro de poste... Chaque information est séparée par une virgule.
• répertoire-principal : répertoire dans lequel sont stockés les fichiers
appartenant à l'utilisateur. En général de la forme /home/toto.
• shell : indique quel interpréteur de commandes sera lancé après
l'authentification.
Le fichier /etc/passwd
Le fichier /etc/passwd est accessible à tout le monde car certaines
commandes ont besoin de connaitre la liste des utilisateurs ou la
correspondance login/UID.
Le fichier /etc/shadow
Exemple:
nabil:$1$7m/dHPgS$AUT9o4BTdkZ/jiMC.Of8D.:13532:0:99999:7:::

- nom de connexion de l’utilisateur (« login »)


- mot de passe chiffré
- nombre de jours, comptés à partir du 1er janvier 1970, depuis le
dernier changement de mot de passe
- nombre de jours à attendre avant de pouvoir changer le mot de
passe
- nombre de jours après lesquels le mot de passe doit être changé
- nombre de jours avant la fin de validité du mot de passe et pendant
lesquels l’utilisateur est averti
- nombre de jours après la fin de validité provoquant la désactivation
du compte
- nombre de jours, comptés à partir du 1er janvier 1970, depuis que le
compte est désactivé
- champ réservé
Le fichier /etc/group
Ce fichier contient les informations relatives aux groupes présents sur
le système. La syntaxe d'une ligne est :

groupname:password:gid:logname1,logname2,logname3,...

- groupname : est le nom du groupe d'utilisateurs.


- password : est le mot de passe chiffré associe au groupe. Ce
champs est ignoré dans les systèmes Linux.
- gid: le GID de groupname.
- logname1, ... : est la liste des utilisateurs appartenant a ce groupe.
Il n'est pas nécessaire d'ajouter un utilisateur dont il s'agit du groupe
principal..
Le fichier /etc/gshadow
Il n’est pas supporté par la plupart des distributions

Structure:
groupname:password:administrators:members

Le 2ème champ password de /etc/group sera copié dans


/etc/gshadow puis remplacé par un x. Lorsque le processus de
connexion rencontre ce x, il recherche le mot de passe dans le
fichier fantôme.

• groupname : est le nom du groupe d'utilisateurs.


• password : est le mot de passe chiffré associe au groupe. Si défini,
les utilisateurs non membre peuvent joindre le groupe en entrant ce
mot de passe via la commande newgrp. Si sa valeur est ! ou ! !,
aucun utilisateur ne peut utiliser la commande newgrp. S'il n'y a
aucune valeur, seuls les membres du groupe peuvent utiliser la
commande newgrp.
• administrators : est une liste d'utilisateurs pouvant ajouter et retirer
des membres du groupe via la commande gpasswd.
• members : est une liste d'utilisateurs membres du groupe.
L'environnement de l'utilisateur

• L'environnement de l'utilisateur est essentiellement composé des scripts


de configuration qui seront exécutes durant la connexion (.bashrc...).

• Un modèle est utilisé lors de la création d'un compte utilisateur : /etc/skel.

• A chaque connexion (lancement d'un shell), le système exécute le


script /etc/profile. En général, on y place les définitions propre au systeme
mais restant indépendantes du shell de connexion indiqué dans le fichier
/etc/passwd. Ensuite le systeme lance le shell de connexion qui exécutera
le script de configuration adéquat (/etc/bashrc pour bash, csh.cshrc pour
csh et tcsh). Ces shells exécutent ensuite les scripts personnalises se
trouvant dans le répertoire de connexion ($HOME/.bashrc pour bash,
$HOME/.cshrc pour csh et tcsh).
Gestion des logs sous Linux

Syslogd:
est un démon permettant de rediriger vers des fichiers ou des terminaux les
messages envoyés par d’autres services ou par le noyau Linux.

Exemple:
les messages d’informations ou d’erreurs émis par le système de messagerie
(ex : Postfix), sont enregistrés grâce à syslogd dans le fichier
« /var/log/mail.info ».
Gestion des logs sous Linux
Configuration:
Le fichier « /etc/[r]syslog.conf » est le principal fichier de configuration du
démon « syslogd ».

Syntaxe générale:
Chaque ligne de ce fichier indique le type du message (appelé Service
ou Facility en anglais), le niveau de gravité (appelé Priorité) et sa destination
(fichier, terminal,...).

Chaque ligne est de la forme :

Service.Priorité Destination

• Service: correspond au type de programme (Démon, Noyau,...) et doit


être l’un de ces mots-clés : auth, authpriv, cron, daemon, kern, lpr,
mail, mark, news, security (identique à auth), syslog, user, uucp et
local0 à local7.
Gestion des logs sous Linux

• Priorité: représente le niveau de gravité du message et doit être l’un


de ces mots clés :
debug, info, notice, warning, warn (identique à warning), err, error
(identique à err), crit, alert, emerg, panic (identique à emerg).

• Destination: représente la destination du message, il peut être un


chemin vers un fichier texte (ex : /var/log/mail.info) ou le nom d’une
console pour envoyer les messages à l’écran (ex : /dev/tty8) ou un
autre serveur (ex : @MonAutreServeur).

ATTENTION : En indiquant un niveau, syslog enverra les messages


de ce niveau et tous les messages des niveaux plus importants.
Donc en mettant « debug », syslog enverra tous les messages (de
debug à panic).
Gestion des logs sous Linux
Remarque :
Chaque programme détermine les «Services» et les «Priorités»
qu’il utilise et il est rarement possible de les modifier. Par exemple,
les programmes Postfix et Fetchmail utilisent le Service « mail »

Exemple:
La ligne suivante permet d’envoyer les messages d’information des
programmes de messagerie dans le fichier « mail.info » :

mail.info /var/log/mail.info

Le signe « ; » pour séparer plusieurs « Services »


Il est possible de mettre plusieurs services pour une même
destination en utilisant le « ; » :

Service1.Priorité1; Service2.Priorité2 Destination


Gestion des logs sous Linux
• Le signe « , » pour plusieurs « Services » avec une même
« Priorité »
La ligne suivante envoie dans le fichier « mail_news » les messages
en provenance des « Services » « mail » et « new » dont la
« Priorité » est supérieure ou égale à « info ». :

mail,news.info /var/log/mail_news

• Le signe « = » pour ne traiter que la « Priorité » indiquée


Il est possible de n’envoyer que les messages d’une seule Priorité »
(sans les « Priorités » de niveaux supérieures) avec le singe « = ».
Exemple :

mail.=err /var/log/mail.err
Gestion des logs sous Linux
• Le signe « * » pour traiter toutes les « Services »
La commande suivante permet d’envoyer les messages d’erreurs de
toutes les « Services » dans le fichier « error »

*.error /var/log/error

• Le signe « * » pour traiter toutes les « Priorités »


Le signe « * » permet d’indiquer que l’on souhaite toutes les
« Priorités » (Le résultat est le même qu’en mettant « debug », mais
c’est plus lisible).

Exemple :
mail.* /var/log/mail
Gestion des logs sous Linux
Envoyer les logs dans une console
La ligne suivante permet d’envoyer tous les logs dans la console
« tty8 » (CTRL+ALT+F8) :

*.* /dev/tty8

Les lignes suivantes permettent d’envoyer les logs des mails dans le
fichier « mail » et en même temps sur la console « tty8 »

mail.* /var/log/mail
mail.* /dev/tty8

Le signe @ pour envoyer les logs sur un autre serveur


La ligne suivante permet d’envoyer tous les logs sur un autre serveur
nommé « pgdebian » :

*.* @pgdebian
Gestion des logs sous Linux
Logger:
est un utilitaire fourni avec syslog, qui vous permet d'envoyer des
messages directement à syslog.

Exemple:
logger -p ftp.info "Message pour voir".

-L'option -p permet d'indiquer le niveau de priorité. Par défaut user.notice


-L'option -f permet d'indiquer un fichier (le contenu du fichier)
-L'option -t permet d'indiquer un tag (au lieu d’avoir logger dans le log)

Exemple:
# logger -t Test "Voici le message"
Gestion des logs sous Linux
Logrotate:

 Le cumul des anciens fichiers log peut causer une saturation du


disque.

 Il faut prévoir la programmation des rotations de logs : l'archivage


des fichiers log assez récents et la suppression des anciens, et ceci
avec une périodicité bien définie.

 Logrotate permet de faire la rotation des fichiers logs


automatiquement.

 Pour s’exécuter, il est lancé tous les jours par le cron.

 /etc/logrotate.conf est un fichier texte qui sert à configurer la


politique des rotations des logs.
Gestion des logs sous Linux
Manip:

# vi /etc/logrotate.conf :

# rotate log files weekly


weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create

# cd /var/log
# ls –l
Remarque: Les dates de modification de messages.*
Gestion des logs sous Linux
Quelques commandes pour consulter les logs:

La commande suivante permet de voir les 10 dernières lignes du


fichier « syslog »
# tail /var/log/syslog

La commande suivante, permet de voir les 200 dernières lignes :


# tail -200 /var/log/syslog

La ligne suivante permet de voir les 10 dernières lignes avec une


actualisation en temps réel :
# tail -f /var/log/syslog
Gestion des logs sous Linux

Cette commande retourne les lignes du fichiers « syslog » contenant


la chaîne de caractères « LeMotif » :
# cat /var/log/syslog | grep -i LeMotif

En combinant les deux commandes précédentes, il est possible par


exemple d’avoir en temps réel, les logs de fetchmail :
# tail -f /var/log/syslog | grep fetchmail

Pour avoir uniquement les logs du noyau Linux au démarrage du


poste :
# dmesg
Le serveur de temps
NTP
le serveur de temps synchronise toutes les machines du réseau pour
qu’ils aient la même date et heure système.

Le service NTP (Network Time Protocol) se base sur un serveur de


référence afin de régler son heure système. NTP, comme DNS se base
sur une structure pyramidale comportant plusieurs niveaux ou strates.
Le serveur de temps NTP

Chaque serveur se synchronise avec un élément au-dessus de lui et


synchronise les éléments en dessous de lui : ceci implique qu'à part le
premier niveau, que chaque serveur joue aussi le rôle d'un client.

L’architecture NTP:
Le serveur de temps NTP
Configuration des clients NTP:

 Le service ntpd permet de synchroniser une machine auprès d’un


serveur de temps.
# ps -ef|grep ntp
root 6523 5378 0 14:04 pts/2 00:00:00 ntpd

 Dans le fichier de configuration /etc/ntpd.conf il faut ajouter :


server chronos.espci.fr

 Relancez le service. Votre machine doit se mettre à l’heure.

 Vous pouvez forcer la synchronisation:


# ntpdate clock.example.com

Attention:
Il faut penser à bloquer les requêtes NTP en provenance d’autres
postes clients: ajouter «restrict default ignore » dans le fichier ntp.conf
Le serveur de temps NTP
Configuration d'un serveur NTP:

 Un serveur NTP se configure comme un client NTP.

 Il faut penser à vérifier au niveau du fichier «ntp.conf » qu’il accepte


les requêtes en provenance d’autres clients NTP
=> supprimer «restrict default ignore »
Programmation des tâches
Principe de fonctionnement de cron:
• Le démon cron examine le fichier /etc/crontab qui contient les
entrées correspondant aux répertoires respectifs /etc/hourly
(heures), daily (jours), weekly (semaines) et monthly (mois). Il
exécutera les scripts de ces répertoires suivant une période inscrite
dans /etc/crontab.

Exemple: Voir le fichier /etc/crontab

Format du fichier:
Minute Heure Num_jour_dans_le_mois Num_du_mois
Num_du_jour_dans_la_semaine commande_à_automatiser

Num_du_jour_dans_la_semaine: (0..7) où 0 et 7 correspondent à dimanche


Ou peut aussi utiliser les 3 première lettres du jour.
Programmation des tâches
• Les intervalles sont acceptés : si l’on indique 1-4, le serveur
comprendra de 1 à 4.

• Une liste où le séparateur est « , » (exemple: 0,5,10)

• Le caractère étoile signifie que le champ est toujours vérifié. S’il est
placé sur le mois par exemple, la commande sera exécutée quelque
soit le mois.

• La chaîne de caractère */x indique une période.


Un */15 placé sur les minutes, elle signifie : pour chaque 00, 15, 30
et 45 minutes.
Programmation des tâches

Exemples d'utilisation de la commande crontab :

# crontab -l
liste la crontab active

# crontab -e
édite par vi et modifie la crontab active, on ne doit pas passer
directement par vi

# crontab -r
supprime la crontab active
Programmation des tâches

Exemples:
0 9-17 * * 1-5 /etc/init.d/httpd restart
0 12 * * 5 sh /home/olivier/exemple.sh

• La première ligne permet de relancer httpd du lundi au vendredi (ie


du 1er au 5ème jour de la semaine) toutes les heures entre 9H00 et
17H00.

• La seconde ligne permet de lancer le script shell exemple.sh placé


dans mon répertoire personnel tous les vendredi (5ème jour de la
semaine) à 12H00.

Exemple d’outil graphique: kcron sous KDE

Exercice 7.2 page 364


Programmation des tâches
Anacron:

Est un programme informatique qui permet l'exécution de tâches


quotidiennes, hebdomadaires ou mensuelles sur un système Linux. À
La différence de cron, il ne suppose pas que la machine tourne en
permanence.

En conséquence, il peut être utilisé sur des machines qui ne tournent


pas 24 heures sur 24, pour contrôler quotidiennement, hebdomadairement
ou mensuellement des tâches.

il nécessite d'être lancé par des scripts de démarrage, par des tâches
cron (on utilise bien souvent une tâche cron.hourly), ou encore d'être
lancé manuellement.

Remarque: Il faut penser à l’installer.


Programmation des tâches
Anacron examine le fichier /etc/anacrontab qui contient les entrées
correspondantes à chaque tâche. Chaque ligne du fichier de configuration a
le format :

periode delai tâche commande

Ce qui correspond à :
- periode : fréquence (en jours) utilisée pour l'exécution de la commande ;
- delai : temps d'attente en minutes ;
- tâche : description de la tâche ;
- commande : commande à exécuter.

Pour chaque tâche, Anacron vérifie si elle a été lancée dans les n derniers
jours, n étant la périodicité définie pour cette tâche. Sinon, Anacron lance la
commande relative à la tâche, après avoir attendu pendant le nombre de
minutes défini comme paramètre de délai.
Programmation des tâches

La commande at permet à une heure et un jour donné de lancer une


commande spécifique.

La commande at s’exécute qu’une seule fois.

La syntaxe est la suivante:


# at heure jour.
Le jour n’est pas obligatoire par défaut c’est aujourd’hui.
Programmation des tâches

# at 20:00 10/21/05
Une fois que vous entrez cette commande, un prompt apparait :
at> firefox
at>
Pour sortir du prompt appuyez sur CTRL+D.

La commande suivante permet d’exécuter une tâche dans 2 jours à minuit:


# at 00:00 +2 days

Celle-ci effectuera une tâche dans 2 heures à partir de cet instant:


# at now +2 hour
Programmation des tâches
La commande qui vous permet de déterminer quels sont les jobs ou
travaux en cours est atq

# atq
4 2005-10-23 00:00 a nadir
5 2005-10-21 21:52 a nadir

Vous voyez apparaître les numéros des travaux.


Pour annuler une tâche, utilisez la commande atrm suivi du numéro de
Tâche:

# atrm 5
# atq
4 2005-10-23 00:00 a nadir
Fin

Vous aimerez peut-être aussi